Дан числовой массив а состоящий из n элементов если отношение числа положительных элементов к числу отрицательных более 2, то все отрицательные элементы этого массива замените на 1, а положительные умножьте на максимальный элемент
Const n=15; var i,np,nn,amax:integer; a:array[1..n] of integer; begin Randomize; Write('Исходный массив: '); np:=0; nn:=0; for i:=1 to n do begin a[i]:=Random(51)-15; Write(a[i],' '); if a[i]>0 then Inc(np) else if a[i]<0 then Inc(nn); end; Writeln; if np/nn>2 then begin amax:=a[i]; for i:=2 to n do if a[i]>amax then amax:=a[i]; Write('Выходной массив: '); for i:=1 to n do begin if a[i]<0 then a[i]:=1 else if a[i]>0 then a[i]:=a[i]*amax; Write(a[i],' ') end; Writeln end else Writeln('В массив изменения не вносятся') end.
n=15;
var
i,np,nn,amax:integer;
a:array[1..n] of integer;
begin
Randomize;
Write('Исходный массив: ');
np:=0; nn:=0;
for i:=1 to n do begin
a[i]:=Random(51)-15;
Write(a[i],' ');
if a[i]>0 then Inc(np)
else if a[i]<0 then Inc(nn);
end;
Writeln;
if np/nn>2 then begin
amax:=a[i];
for i:=2 to n do
if a[i]>amax then amax:=a[i];
Write('Выходной массив: ');
for i:=1 to n do begin
if a[i]<0 then a[i]:=1
else
if a[i]>0 then a[i]:=a[i]*amax;
Write(a[i],' ')
end;
Writeln
end
else Writeln('В массив изменения не вносятся')
end.
Пример работы программы
Исходный массив: 28 8 21 32 0 26 30 11 35 21 14 6 0 -4 -8
Выходной массив: 980 280 735 1120 0 910 1050 385 1225 735 490 210 0 1 1