Аватар
Информатика, опубликовано 2018-08-22 23:47:28 by Гость

Заполните массив случайными числами в интервале [100..999] и переставьте их по возрастанию суммы цифр.

Аватар
Ответ оставил Гость

Const dlin = 100;
var b:array[1..dlin,1..2] of integer;
      i,j,x:integer;
begin
writeln(Исходный массив:);
for i:=1 to dlin do
 begin
  b[i,1]:=random(800)+100;
  write(b[i,1], );
  b[i,2]:=b[i,1] mod 10 + b[i,1] div 100 + b[i,1] div 10 mod 10;
 end;
writeln;

for i:=1 to dlin-1 do
  for j:=dlin-1 downto i do
     if b[j,2]>b[j+1,2] then
     begin
      x:=b[j,2]; b[j,2]:=b[j+1,2]; b[j+1,2]:=x;
      x:=b[j,1]; b[j,1]:=b[j+1,1]; b[j+1,1]:=x;
     end;

writeln(Отсортированный массив:);
for i:=1 to dlin do
   write(b[i,1], );

end.

Вопрос
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.