Упражнение 2 (Двумерные массивы)

Дана матрица 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 — текущий минимальный элемент двумерного массива.

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