Дан двумерный массив целых чисел. Количество столбцов определено в константе MAX_COL (описывать не надо), количество строк определено в константе MAX_ROW (описывать не надо). Необходимо найти максимальный и минимальный элементы массива (гарантируется, что массив содержит только один максимальный и один минимальный элемент) и поменять местами столбцы, в которых они расположены. Вывести полученный массив.

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

Дан двумерный массив целых чисел. Количество столбцов определено в константе MAX_COL (описывать не надо), количество строк определено в константе MAX_ROW (описывать не надо).

Необходимо найти максимальный и минимальный элементы массива (гарантируется, что массив содержит только один максимальный и один минимальный элемент) и поменять местами столбцы, в которых они расположены. Вывести полученный массив.

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

PascalABC.NET 3.2, сборка 1387 от 20.02.2017

Внимание! Если программа не работает, обновите версию!

//const

//  MAX_ROW=5;

//  MAX_COL=8;

begin

  var a:=MatrRandom(MAX_ROW,MAX_COL,10,99); a.Println(3);

  (var imax, var jmax, var imin, var jmin):=(0,0,0,0);

  for var i:=0 to MAX_ROW-1 do

    for var j:=0 to MAX_COL-1 do

      if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j)

      else

        if a[i,j]<a[imin,jmin] then (imin,jmin):=(i,j);

  for var i:=0 to MAX_ROW-1 do Swap(a[i,jmax],a[i,jmin]);

  Writeln(‘-‘*3*MAX_COL); a.Println(3)

end.

Для проверки работы программы снимите комментарии с первых трех строк.

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

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

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