В массиве из 20 целых чисел найдите наибольший элемент среди отрицательных и поменяйте его местами с первым элементом.
Вот начал делать, а потом не знаю как дальше:
const
k=20;
var
a:array[1..k] of integer;
g,i,max:=integer;
begin
for i:=1 to n do begin
a[i]:=random(20)-10;
write(a[i],' ');
max:=a[i];
for i:=1 to n do
if a[i]<0 then max:=a[i];
writeln('max=',max);
end;
Дальше не знаю, там по-моему надо ввести переменную (в моём случае "g") и мне кажется там ошибка в поиске максимально среди отрицательных элементов. Помогите пожалуйста.
Answers & Comments
a:array[1..20] of integer;
i,max,c,nom:integer;
begin
max:=-100000000;
for i:=1 to 20 do begin
a[i]:=random(20)-10;
write(a[i],' ');
end;
for i:=1 to 20 do begin
if (a[i]<0) and (a[i]>max) then nom:=i;
if (a[i]<0) and (a[i]>max) then max:=a[i];
end;
writeln;
for i:=1 to 20 do begin
if i=nom then swap(a[nom],a[1]);
end;
for i:=1 to 20 do begin
write(a[i],' ');
end;
writeln('max=',max,');
end.