ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ 6 ЧИСЕЛ
2 2 0 -17 25 -17 ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ 6 ЧИСЕЛ 3 4 10 -17 0 0 ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ б ЧИСЕЛ 5 4 10 -17 20 45 ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ 6 ЧИСЕЛ 14 25 -16 6 7 8 ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ б ЧИСЕЛ 1 2 3 4 5 6 В МАТРИЦЕ 4 МИНИМАЛЬНЫХ ЭЛЕМЕНТОВ MIN = -17 В СТРОКЕ 1 В СТОЛБЦЕ 4 В СТРОКЕ 1 В СТОЛБЦЕ 6 В СТРОКЕ 2 В СТОЛБЦЕ 4 В СТРОКЕ 3 В СТОЛБЦЕ 4 Рис. 7.1. Результат работы PG7_1 Ту же задачу можно решить за один просмотр матрицы. Но в этом случае необходимо ввести вспомогательный двумерный массив, в который заносятся значения строк и столбцов минимальных элементов. PROGRAM PG7_1A; CONST T = 100;S = 100; VAR А: ARRAY[1..T, 1..S] OF INTEGER; В: ARRAY[1..T*S, 1..2] OF INTEGER; N, M, IM, JM, I, J, MIN, К: INTEGER; BEGIN WRITE('ВВЕДИТЕ КОЛИЧЕСТВО СТРОК N = '); READLN(N); WRITE('BBEДИTE КОЛИЧЕСТВО СТОЛБЦОВ М = '); READLN(M); FOR I:= 1 TO N DO BEGIN WRITELN('BBЕДИTE ', M,' ЧИСЕЛ'); FOR J:= 1 TO M DO READ(A[I, J]) END; MIN:= A[1, 1]; К:= 0; FOR I:= 1 TO N DO FOR J:= 1 TO M DO IF MIN>A[I, J] THEN BEGIN K:= 1; B[1. 1]:= I; B[1. 2]:= J; MIN:= A[l, J] END ELSE IF MIN = A[l, J] THEN BEGIN К:= K+1; B[K, 1]:= I; B[K. 2]:= J END; IF К = 1 THEN BEGIN WRITELN('EДИНСТВЕННЫЙ МИНИМУМ MIN = ', MIN); WRITELN('CTPOKA ', IM, ' СТОЛБЕЦ ', JM) END ELSE BEGIN WRITELN('B МАТРИЦЕ', К, 'МИНИМУМОВ MIN =', MIN); FOR I:= 1 TO К DO WRITELN('CTPOKA', B[l, 1], 'СТОЛБЕЦ', B[l. 2]) END END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим размеры массива А и значения его элементов; - просматриваем элементы массива, ищем минимальное значение и запоминаем значение индексов в вспомогательном массиве В; - считаем количество минимальных элементов; - в зависимости от К либо выводим информацию о единственном минимальном элементе, либо организуем вывод информации о всех минимальных элементах из массива В. Переменные: А - двумерный массив; В - вспомогательный массив; N, М - количество строк и столбцов массива; I, J - переменные цикла; К - количество минимальных элементов; IM, JM - строка и столбец минимального элемента; MIN - текущий минимум. Задача 7.2 Дана матрица N x M, состоящая из натуральных чисел. Найти в строках самые правые наименьшие элементы и определить их местоположение. Для решения этой задачи просмотр каждой строки нужно организовать справа налево, чтобы сразу определить самый правый минимальный элемент.
|