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

Вопрос школьника по предмету Информатика

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

Ответ учителя по предмету Информатика

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей