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

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

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

1) Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке (оформить в виде процедуры). Помогите пожалуйста!!))
вот есть программа, там есть недочет один, но может кто-нибудь сможет переделать, а именно сделать в виде процедуры и в виде функци??? пожалуйста!!))

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

textual
Листинг программы
program aaa;
Type mas=array[1..5] of integer;
Var a: array[1..5, 1..5] of integer;
s, d:mas; {массив элементов одной строки и массив количеств одинаковых элементов в строках}
j,k,w, min, m :integer;
 
procedure kolich(b:mas; Var kol: integer); {кол-во одинаковых элементов с строке}
Var j, k, max :integer;
c:mas;
begin
for j:=1 to 5 do
begin
c[j]:=0;
for k:=1 to 5 do
if b[k]= b[j] then c[j]:=c[j]+1;
end;
max:=c[1];
for j:=2 to 5 do
if c[j]> max then max:=c[j];
kol:=max;
end; {конец процедуры}
 
Procedure obmen(Var x,y:integer); {для обмена местами элементов}
Var prom:integer;
begin
prom:=x;
x:=y;
y:=prom;
end; {конец процедуры}
 
begin
writeln('Исходный массив ');
for j:=1 to 5 do
begin
for k:=1 to 5 do
begin
a [j, k ] := Random(10);
write( a [ j,k ]:3,' ');
end;
writeln;
end;
 
for j:=1 to 5 do
begin
for k:=1 to 5 do
s [ k] := a [ j,k ]; {формирование матрицы из элементов строки};
kolich(s, d[j]);
writeln('Количество одинаковых элементов в ', j, ' строке= ', d[j]);
end;
 
{сортировка массива d и перестановка строк}
for j:=1 to 4 do
begin
min:=d[j]; m:=j;
for k:=j+1 to 5 do
if d[k]< min then begin min:=d[k]; m:=k end;
obmen(d[j],d[m]);
for w:=1 to 5 do {перестановка строк}
obmen(a[j,w],a[m,w]);
end;
 
writeln('матрица с переставленными строками в соответствии с ростом количества одинаковых элементов в строке: ');
for j:=1 to 5 do
begin
for k:=1 to 5 do
write( a[j,k]:3,' ');
writeln;
end;
end.

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


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

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

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