Заполнить двумерный массив 3x4 случайными числами в интервале [-50..50] и отсортировать...

0 голосов
64 просмотров

Заполнить двумерный массив 3x4 случайными числами в интервале [-50..50] и отсортировать построчно по возрастанию.


Информатика (52 баллов) | 64 просмотров
0

то есть, отсортировать отдельно каждую строку? или сквозняком по массиву?

Дано ответов: 2
0 голосов
Правильный ответ

Const
  m = 3;
  n = 4;
var
  a: array[1..m, 1..n] of integer;
  i, j, k, t: integer;

begin
  Randomize;
  Writeln('Исходный массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i, j] := Random(101) - 50;
      Write(a[i, j]:4)
    end;
    Writeln
  end;
  { Пузырьковая сортировка по возрастанию в строках }
  for i:=1 to m do
    for k := 1 to n-1 do
      for j := 1 to n-1 do
        if a[i,j] > a[i,j+1] then
        begin t := a[i,j]; a[i,j] := a[i,j+1]; a[i,j+1] := t end;
  Writeln('Сортировка по строкам');
  for i := 1 to m do
  begin
    for j := 1 to n do Write(a[i, j]:4);
    Writeln
  end
end.

Тестовое решение:
Исходный массив
  41   5 -19  -6
  46 -27  37   5
  33  18 -39  -4
Сортировка по строкам
 -19  -6   5  41
 -27   5  37  46
 -39  -4  18  33


(142k баллов)
0 голосов

Program t1;
var
  i, j: integer;
  mas: array [1..10] of integer;
begin
    randomize;
    writeln ('сгенерированный масив: ');
    for i := 1 to 3 do
        writeln;
        for j := 1 to 4 do
        begin
           mas[i,j] := random (100) - 50;
           write (mas[i,j]);
        end;
    end;

    begin
    for i:=1 to 3 do
      for i:=1 to 3 do
        for k:=1 to 3-i do
           if M[k] > M[k+1] then swap(mas[k],mas[k+1])
        end
      end; 
    end;
    writeln ('отсортированный по возрастанию массив (построчно): ');
    for i := 1 to 3 do
        writeln;
        for j := 1 to 4 do write (mas[i,j]);
    end;
end;
end.

(1.2k баллов)
0

Спасибо большое, очень выручили!❤️

0

Вот только процедуры swap в Паскале нет...

0

И random (100) - 50; даст интервал [-50;49], а не [-50;50]

0

упс.... вроде в 7 есть swap. Но спасибо за ремарку...

0

Есть в ТР7 swap, но у него один аргумент и он обменивает местами старший и младший байты в двухбайтном слове.

0

точно.... байты местами меняются... не знаю, чего меня распоганило его использовать - крайне редко вспоминаю. Спасибо.

0

Да не за что, обращайтесь)))

0

учтем))