Поиск максимального элемента среди минимальных элементов столбцов

Задача

Дано: целочисленная матрица из n строк и m столбцов.
Найти: максимум из наименьших элементов столбцов.

Решение

 

Примерный алгоритм решения 1.

  1. Просмотреть каждый столбец. Наименьший элемент каждого столбца сохранить в одномерном массиве.
  2. Найти максимальное значение в одномерном массиве.

Примерный алгоритм решения 2.

  1. Найти наименьший элемент первого столбца и предположить, что он максимальный (записать в переменную).
  2. Найти наименьший элемент второго столбца. Сравнить его с предыдущим наименьшим. Если больше, заменить значение переменной. И т.д.

Программа на языке Паскаль: 

 

const
    n = 4; m = 5;
 
var
    matrix: array[1..n,1..m] of integer;
    max, min, i, j: integer;
 
begin
 
    randomize;
    for i := 1 to n do begin
        for j := 1 to m do begin
            matrix[i,j] := random(100);
            write(matrix[i,j]:3);
        end;
        writeln;
    end;
 
    max := 0; {максимум среди минимумов}
    for j := 1 to m do begin {просмотр столбцов}
        min := matrix[1,j]; {предполагаем, что первый в столбце минимален}
        for i := 2 to n do {просматриваем столбец построчно}
            if matrix[i,j] < min then
                min := matrix[i,j]; {замена минимума}
        if min > max then
            max := min {замена максимума}
    end;
 
    writeln(max);
 
readln
end.

 

Тема

Матрицы

Уровень

Комбинированные задачи