Отсортировать элементы четных строк матрицы по возрастанию значения, а нечетных - по...

0 голосов
89 просмотров

Отсортировать элементы четных строк матрицы по возрастанию значения, а нечетных - по убыванию значения -


Информатика (77 баллов) | 89 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
   N = 6;
   M = 7;
Var
   A:array[1..N,1..M] of integer;
   i,j,k,MM,B:integer;
Begin
Randomize;
WriteLn('Исходный массив:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:3,' ')
        End;
    WriteLn
    End;
WriteLn;
WriteLn('Отсортированный массив:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        MM:=j;
        if i mod 2 = 0 then
           Begin
           For k:= j+1 to M do
               if A[i,MM] > A[i,k] then MM:=k
           End
        else
           For k:= j+1 to M do
               if A[i,MM] < A[i,k] then MM:=k;
        B:=A[i,MM];
        A[i,MM]:=A[i,j];
        A[i,j]:=B;
        Write(A[i,j]:3,' ')
        End;
    WriteLn
    End
End.



Пример работы программы:

Исходный массив:
  9  -5   6   0  -9   0   9
  3  -9  -4  10  -8  10   3
 -2   1   2   3   3   0  10
-10   1   8  -3  -4  -3   4
 -9  -7  -3  -9   2  -1  -3
  7 -10  10  -3   4  10   0

Отсортированный массив:
  9   9   6   0   0  -5  -9
 -9  -8  -4   3   3  10  10
 10   3   3   2   1   0  -2
-10  -4  -3  -3   1   4   8
  2  -1  -3  -3  -7  -9  -9
-10  -3   0   4   7  10  10

(34.0k баллов)