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