Упорядочите строки данной матрицы в порядке возрастания количества одинаковых элементов в каждой строке - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д