Необходимо упорядочить элементы в нечетных строках матрицы по возрастанию, а в четных строках – по убыванию.
Решение:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
program arrays_19;
uses crt; var i, j, k, p, ch, key1, key2: integer; matr: array[1..10,1..10] of integer; begin clrscr; randomize; writeln(‘Исходная матрица:’); for i:=1 to 10 do begin for j:=1 to 10 do begin matr[i, j]:=random(10); {заполнение матрицы псевдослучайными числами} write(matr[i, j]:3); end; writeln; end; for i:=1 to 10 do begin for j:=1 to 10 do begin for k:=1 to 9 do begin key2:=k; ch:=matr[j, k]; if j mod 2 <> 0 then {если не четное, то выполнять… } begin if matr[j, key2]>matr[j, k+1] then key2:=k+1; matr[j, k]:=matr[j, key2]; matr[j, key2]:=ch end else { если четное, то выполнять…} begin if matr[j, key2]<matr[j, k+1] then key2:=k+1; matr[j, k]:=matr[j, key2]; matr[j, key2]:=ch; end; end; end; end; writeln; write(‘Отсортированная матрица:’); writeln; for i:=1 to 10 do begin for j:=1 to 10 do begin write(matr[i, j]:3); end; writeln; end; end. |