Определить максимальный и второй по величине элементы в каждом столбце матрицы - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Определить максимальный и второй по величине элементы в каждом столбце матрицы»

textual
Листинг программы
uses crt;
const
  n = 3;
  m = 5;
 
var
  a: array[1..n, 1..m] of integer;
  i, j, k, maxiRow, miniRow, maxiCol, miniCol: integer;
 
procedure print(s: string);
var
  i, j: integer;
begin
  writeln(s);
  for i := 1 to n do 
  begin
    for j := 1 to m do write(a[i, j]:5);
    writeln;
  end;
end;
 
begin
  randomize;
  for i := 1 to n do for j := 1 to m do a[i, j] := random(100);
  print('исходная матрица:*');
  
  miniRow := 1;
  miniCol := 1;
  maxiRow := 1;
  maxiCol := 1;
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if a[miniRow, miniCol] > a[i, j] then 
      begin
        miniRow := i;miniCol := j;
      end;
      if a[maxiRow, maxiCol] < a[i, j] then 
      begin
        maxiRow := i;maxiCol := j;
      end;
    end;    
  end;
  
  for i := 1 to n do 
  begin
    k := a[i, miniCol];
    a[i, miniCol] := a[i, maxiCol];
    a[i, maxiCol] := k; 
  end;
  print('полученная матрица:');
end.

Объяснение кода листинга программы

В данном коде используется язык программирования Turbo Pascal. Он предназначен для работы с матрицами и определения максимальных и вторых по величине элементов в каждом столбце. Переменные:

  • n - количество строк матрицы (в данном случае равно 3);
  • m - количество столбцов матрицы (в данном случае равно 5);
  • a - матрица, в которой будут находиться числа от 0 до 99;
  • i, j, k - переменные для перебора строк и столбцов матрицы;
  • maxiRow, miniRow, maxiCol, miniCol - переменные для хранения текущих максимумов и минимумов в каждой строке и столбце соответственно;
  • print - функция для вывода содержимого матрицы на экран. Код начинается с инициализации переменной a случайными числами от 0 до 99. Затем выводится исходная матрица. Далее происходит поиск минимального и максимального элемента в каждой строке и столбце. Для этого используются циклы for и переменной k присваиваются значения из a. После этого выводится полученная матрица, в которой найденные максимальные элементы заменены на их исходные значения. В конце кода выводится сообщение с помощью функции print, содержащее исходную матрицу.

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы