Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов каждой строке.
Препод сказал, что там надо вконце написать какое то условие и присовить и уже вывести отсортированную матрицу, а я хз как сделать
Код:
program matr1;
uses crt;
const n=5;
const m=10;
type s=array[1..n,1..m] of integer;
const a:s=((1,1,1,1,1,6,7,8,9,10),
(1,2,2,2,5,6,7,8,9,10),
(1,2,3,3,5,6,7,8,9,10),
(1,7,7,7,7,7,7,7,7,10),
(1,2,3,7,7,7,7,7,7,10));
var i,j,gl,loc,r,x,k:integer;
b: array[1..n] of integer;
begin
clrscr;
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
write(a[i,j]:3);
end;
writeln;
end;
{Подсчет количества одинаковых элементов}
for i:=1 to n do begin
gl:=0;
for j:=1 to m-1 do begin
loc:=1;
for r:=j+1 to m do
if a[i,j]=a[i,r] then loc:=loc+1;
if loc>gl then begin gl:=loc; loc:=0 end;
end;
b[i]:=gl;
end;
for i:=1 to n do write(b[i],' ');
writeln;
for i:=1 to n-1 do begin
x:=b[i]; k:=i;
for j:=i+1 to n do
if b[j]<x then begin x:=b[j]; k:=j end;
b[k]:=b[i]; b[i]:=x;
(Вот здесь чего то нехватает)
end;
for i:=1 to n do write(b[i],' ');
writeln;
readkey;
end.