program lab7; type Value = record a,b,i,j,sum:integer; end; const A = 5; const B = 5; {Исходный массив букв} const mas : array[1..A,1..B] of Char = (('A', 'B', 'C', 'D', 'V'), ('F', 'Q', 'C', 'C', 'V'), ('F', 'B', 'C', 'D', 'H'), ('S', 'S', 'D', 'V', 'H'), ('S', 'X', 'D', 'B', 'H') ); var temp: Value; i,j,k,m,n,c,z,x:Integer; str, stolb : Integer; x0:Char; {Создаем массив записей типа Value} v : array[1..A,1..B] of Value; wait : String; begin str:=5; stolb:=5; {Вычисляем количество вхождений символа в строку и столбец} for i:=1 to A do begin for j:=1 to B do begin x0:=mas[i][j]; for k:=1 to A do begin if mas[i][k]=x0 then inc(v[i][j].a); end; for n:=1 to B do begin if mas[n][j]=x0 then inc(v[i][j].b); end; v[i][j].i := i; v[i][j].j := j; v[i][j].sum := v[i][j].a + v[i][j].b; end; end; {Выводим массив количества вхождений} for i:=1 to str do begin for j:=1 to stolb do begin write(' ',v[i][j].sum); end; writeln(); writeln(); writeln(); end; {Сортируем двумерный массив} writeln(); writeln(); writeln(str); for c:=1 to str*stolb do begin {Упорядочиваем в строках} for i:=1 to str do begin for j:=1 to stolb do begin if v[i][j].sum > v[i][j+1].sum then begin temp:=v[i][j]; v[i][j] := v[i][j+1]; v[i][j+1] := temp; end; end; end; {Упорядочиваем в столбцах} for x:=1 to stolb do begin for z:=0 to str do begin if v[z][x].sum > v[z][x+1].sum then begin temp := v[z][x]; v[z][x] := v[z][x+1]; v[z][x+1] := temp; end; end; end; writeln(str); end; writeln(str); writeln(stolb); writeln(A); writeln(B); {Выводим на экран после сортировки} for i:=1 to A do writeln('111'); begin for j:=1 to B do begin write(' ',v[i][j].sum); end; writeln(); writeln(); writeln(); end; writeln('x = ',v[1][1].i, ' y = ', v[1][1].j, ' vhogdeniy = ',v[1][1].sum); readln(wait); end.