Упорядочите строки данной матрицы в порядке возрастания количества одинаковых элементов в каждой строке - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Упорядочите строки данной матрицы в порядке возрастания количества одинаковых элементов в каждой строке. Воспользуйтесь сортировкой методом простых вставок. Помогите пожалуйста, вообще не понимаю как это делать, но нужно срочно, прошу помочь, заранее спасибо)))

Решение задачи: «Упорядочите строки данной матрицы в порядке возрастания количества одинаковых элементов в каждой строке»

textual
Листинг программы
const m=5; n=20;
type TRow = array [1..n] of Integer;
var
  a: array [1..m] of TRow;
  b: array [1..m] of Integer;
  d: TRow;
  i, j, k, t: Integer;
begin
  Randomize;
  WriteLn('A =');
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(10); Write(a[i,j]:3);
      k:=j-1; while (k>0) and (a[i,k]<>a[i,j]) do Dec(k);
      Inc(b[i],Ord(k<>0));
    end; WriteLn(' |',b[i]);
  end;
  for i:=2 to m do begin
    j:=i-1; t:=b[i]; d:=a[i];
    while (j>0) and (b[j]>t) do begin
      b[j+1]:=b[j]; a[j+1]:=a[j]; Dec(j);
    end;
    b[j+1]:=t; a[j+1]:=d;
  end;
  WriteLn('A''=');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:3); WriteLn(' |',b[i]);
  end;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы