На паскале. задан массив из n действительных чисел(n может быть задано не более 25). отрицательные числа в заданном массиве упорядочить по убыванию их значений. взаимное расположение отрицательных и положительных чисел сохранить. вывести на экран исходный и новый массивы.

александра7896 александра7896    1   26.07.2019 03:20    2

Ответы
Zabuzamomochiiii Zabuzamomochiiii  24.09.2020 19:38
Const n=20;
var 
a,b:array[1..n] of integer;
i,j,k,m,c:integer; 
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(51)-25;
  write(a[i]:5);
 end;
writeln;
j:=0;
for i:=1 to n do
 if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end;
m:=j;
for k := 1 to m-1 do
  for i := 1 to m-k do
     if (b[i]<b[i+1]) then 
       begin
       c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c;
       end;
writeln('Вс массив:');
for i:=1 to m do write(b[i]:5);
writeln;
j:=0;
for i:=1 to n do
 if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end;
writeln('Полученный массив:');
for i:=1 to n do write(a[i]:5);
writeln;
end.

Пример:
Исходный массив:
  -15   -8   -6  -13   15   24    5   -2   14   -1   19   -2   -7   -8  -23   20   -2    7   -2  -10
Вс массив:
   -1   -2   -2   -2   -2   -6   -7   -8   -8  -10  -13  -15  -23
Полученный массив:
   -1   -2   -2   -2   15   24    5   -2   14   -6   19   -7   -8   -8  -10   20  -13    7  -15  -23
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика