Дана матрица NхМ, состоящая из натуральных чисел. Найти в строках самые правые наименьшие элементы и определить их местоположение.
Для решения этой задачи просмотр каждой строки нужно организовать справа налево, чтобы сразу определить самый правый минимальный элемент.
PROGRAM PG5_2;
//описываем константу (для определения размерности матрицы в разделе описания переменных)
CONST T = 100;
S = 100;
//описываем переменные
VAR A : ARRAY[1..T, 1..S] OF INTEGER;
N, M, JM, I, J, MIN : INTEGER;
BEGIN
//вводим размерность матрицы – количество строк и столбцов
WRITE(‘ВВЕДИТЕ КОЛИЧЕСТВО СТРОК N = ‘);
READLN(N);
WRITE (‘ВВЕДИТЕ КОЛИЧЕСТВО СТОЛБЦОВ М = ‘);
READLN(M);
//организовываем цикл для ввода элементов матрицы размерностью NхМ
FOR I := 1 ТО N DO
BEGIN
WRITELN(‘ВВЕДИTE ‘, M,’ ЧИСЕЛ’);
FOR J := 1 TO M DO
READ(A[I, J])
END;
//организовываем цикл для поиска в строках самых правых наименьших элементов
FOR I := 1 TO N DO
BEGIN
MIN := A[l, M];
JM := M;
FOR J := M DOWNTO 1 DO
//проверка условия, если минимальный элемент больше текущего, то запоминаем столбце, в котором он находится и переменной MIN присваиваем новое значение минимального элемента в строке
IF MIN>A[I, J] THEN
BEGIN
JM := J;
MIN := A[l, J]
END;
//вывод минимального элемента
WRITELN(‘B СТРОКЕ I =’, I, ‘САМЫЙ ПРАВЫЙ MIN =’, MIN);
//вывод номер столбца, где находится самый правый минимальный элемент строки
WRITELN(‘СТОЛБЕЦ МИНИМАЛЬНОГО ЭЛЕМЕНТА ‘, JM)
END;
END.
Для решения задачи:
— формируем тело программы и описываем переменные (переменные описываются в разделе описания переменных, который начинается с ключевого слова var) – указываем имена переменных и их тип;
— вводим размеры массива А (матрицы), для чего используем процедуру READLN и значения его элементов (значения элементов вводим с помощью цикла с параметром – вложенного цикла);
— просматриваем строки двумерного массива справа налево, ищем минимальное значение и запоминаем значение индексов (номер строки и номер столбца);
— для каждой строки выводим значение и местоположение самого правого минимального элемента двумерного массива – используем для вывода процедуру WRITELN.
Переменные:
А — двумерный массив (элементы массива – это числа целого типа данных, размерность массива равна TхS, где T и S – это константы, значения которых равны 100);
N, М — количество строк и столбцов массива (размерность матрицы);
I, J — переменные цикла (счетчики);
JM — столбец минимального элемента;
MIN — текущий минимальный элемент двумерного массива.