Операции с одномерными и многомерными массивами, страница 2

Решение:

Program Sortirovka;

Type    Matrix=array [1..6,1..7] of real;

Var     a: Matrix;

        R: Real;

        k,i,j: integer;

Begin

for i:=1 to 6 do  for j:=1 to 7 do   a[i,j]:=1/3*i*i+j;

Writeln('Матрица A');

for i:=1 to 6 do begin for j:=1 to 7 do write(a[i,j]:6:3,'  ');

Writeln; end; Writeln;

for i:=2 to 6 do for j:= 6 downto i do

if int(a[j+1,6])<int(a[j,6]) then

for k:= 1 to 7 do {Перестановка строк}

  begin    R:=a[j-1,k];

           a[j-1,k]:=A[j,k];

           a[j,k]:=R;  end;

Writeln('Отсортированная матрица А имеет вид');

for i:=1 to 6 do begin for j:=1 to 7 do

write(a[i,j]:6:3,'  '); writeln;  end;

End.

Ответ.

Матрица A

 1.333   2.333   3.333   4.333   5.333   6.333   7.333

 2.333   3.333   4.333   5.333   6.333   7.333   8.333

 4.000   5.000   6.000   7.000   8.000   9.000  10.000

 6.333   7.333   8.333   9.333  10.333  11.333  12.333

 9.333  10.333  11.333  12.333  13.333  14.333  15.333

13.000  14.000  15.000  16.000  17.000  18.000  19.000

Отсортированная матрица А имеет вид

13.000  14.000  15.000  16.000  17.000  18.000  19.000

 9.333  10.333  11.333  12.333  13.333  14.333  15.333

 6.333   7.333   8.333   9.333  10.333  11.333  12.333

 4.000   5.000   6.000   7.000   8.000   9.000  10.000

 2.333   3.333   4.333   5.333   6.333   7.333   8.333

 1.333   2.333   3.333   4.333   5.333   6.333   7.333

Вывод:  освоить на практике операции с одномерными и многомерными массивами.