Задание предлагает несовершенный алгоритм. При поиске максимума нет никакого смысла переприсваивать Amax. Образец того, как в школах сначала дают неоптимальные алгоритмы, а потом на ЕГЭ за неоптимальность снимают .
Предлагаемый вариант программы лишен указанного выше недостатка.
const nn=100; { максимальное количество элементов в массиве }
var a:array[1..nn] of integer; i,n,Amax,Aindex:integer;
begin Randomize; Write('n='); Read(n); for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' ') end; Writeln; Aindex:=1; for i:=2 to n do if a[i]>a[Aindex] then Aindex:=i; Amax:=a[Aindex]; Writeln('Максимальный элемент номер ',Aindex,' равен ',Amax) end.
Пример n=15 24 14 44 4 41 -50 14 3 7 38 21 -39 31 -2 12 Максимальный элемент номер 3 равен 44
begin Write('n = '); Read(n); Randomize; d:=0; for i:=1 to n do begin a[i]:=Random(21)-10; Write(a[i],' '); if a[i]>0 then d:=d+1 else if a[i]<0 then d:=d-1 end; Writeln; if d>0 then Writeln('Положительных чисел больше') else if d<0 then Writeln('Отрицательных чисел больше') else Writeln('Положительных и отрицательных поровну') end.
Пример n = 13 -1 -5 3 -3 -4 -8 1 6 4 7 -7 10 7 Положительных чисел больше
Предлагаемый вариант программы лишен указанного выше недостатка.
const
nn=100; { максимальное количество элементов в массиве }
var
a:array[1..nn] of integer;
i,n,Amax,Aindex:integer;
begin
Randomize;
Write('n='); Read(n);
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ')
end;
Writeln;
Aindex:=1;
for i:=2 to n do
if a[i]>a[Aindex] then Aindex:=i;
Amax:=a[Aindex];
Writeln('Максимальный элемент номер ',Aindex,' равен ',Amax)
end.
Пример
n=15
24 14 44 4 41 -50 14 3 7 38 21 -39 31 -2 12
Максимальный элемент номер 3 равен 44
nn=100;
var
i,n,d:integer;
a:array[1..nn] of integer;
begin
Write('n = '); Read(n);
Randomize;
d:=0;
for i:=1 to n do begin
a[i]:=Random(21)-10;
Write(a[i],' ');
if a[i]>0 then d:=d+1
else
if a[i]<0 then d:=d-1
end;
Writeln;
if d>0 then Writeln('Положительных чисел больше')
else
if d<0 then Writeln('Отрицательных чисел больше')
else Writeln('Положительных и отрицательных поровну')
end.
Пример
n = 13
-1 -5 3 -3 -4 -8 1 6 4 7 -7 10 7
Положительных чисел больше