Дана матрица произвольного размера, т.е. n*m размеров ..... нужно сравнить столбцы в внутри матрицы и потом расставить их в порядке убывания, начиная с наибольшего. мне сказали что нуна пользоваться qeyrwbtq? я не раслышал использовал процедуру и то там коряво написал и всего лишь для матрицы 3*3
| Код | program practica ;
const n = 3; type matrix = array[1 .. n, 1 .. n] of integer;
procedure sort_column(var ar: matrix; x: integer); var i, j, T: integer; begin for i := 1 To n Do for j := n downto i + 1 do if ar[pred(j), x] < ar[j, x] then begin T := ar[pred(j), x]; ar[pred(j), x] := ar[j, x]; ar[j, x] := T end end;
procedure sort_first_row(var ar: matrix); var i, j, k, T: integer; begin
for i := 1 To n Do for j := n downto i + 1 do if ar[1, pred(j)] < ar[1, j] then
for k := 1 to n do begin T := ar[k, pred(j)]; ar[k, pred(j)] := ar[k, j]; ar[k, j] := T end
end;
procedure print(const ar: matrix); var i, j: integer; begin
for i := 1 to n do begin for j := 1 to n do write(ar[i, j]:3); writeln; end;
end;
const a: matrix = ( (1, 9, 6), (2, 8, 5), (3, 7, 4) );
var i: integer; begin for i := 1 to n do sort_column(a, i); print(a);
sort_first_row(a); writeln; print(a); end.
|
помогите испарвить ошибки. |