Pascal
var
ar: array of integer;
i, j, a, b, k, n :integer;
begin
(* Дан массив целых чисел (n = 20), *)
(* заполненный случайным образом числами из промежутка [-45, 95].*)
randomize;
n:=20;
setlength(ar, n);
for i := 0 to n-1 do begin
ar[i]:= random(140)-45;
write(ar[i],' ');
end;
writeln;
(* Удалить из него все элементы, кратные 7 и *)
(* принадлежащие промежутку [a, b] (a и b вводить с клавиатуры)*)
writeln('введите диапазон [a,b]');
readln(a,b);
i:=0;
while i <= n-1 do
if (ar[i] mod 7 = 0) and (ar[i]>=a) and (ar[i]<=b)then begin
for j := i+1 to n - 1 do
ar[j-1] := ar[j];
n := n - 1
end
else
inc(i);
setlength(ar, n);
for i := 0 to n-1 do begin
write(ar[i],' ');
end;
writeln;
(* Вставить число k между всеми соседними элементами, которые образуют пару *)
(* элементов с одинаковыми знаками k вводить с клавиатуры).*)
writeln('введите k');
readln(k);
i := n - 1;
while i > 0 do begin
if ar[i]*ar[i-1]>0 then begin
inc(n);
SetLength(ar, n);
for j := n - 1 downto i do
ar[j] := ar[j-1];
ar[i] := k;
end;
dec(i);
end;
for i := 0 to n-1 do
write(ar[i],' ');
end.
Вашу программу на Delphi ПРАВИЛЬНО открывать указанный файл при запуске (например, если щелкнуть по какому либо файлу правой кнопкой мыши, выбрать пункт «Открыть с …» и указать Вашу программу). При этом имя открываемого файла передается программе в параметре, и может возникнуть одна проблема — наличие пробелов в имени файла, который будет оценен как разделитель параметров. То есть, при указании имени файла «Новый файл.txt» программе будет передано 2 параметра: «Новый» и «файл.txt». Для правильной обработки этой ситуации нам необходимо «собрать» все параметры в кучу.