Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:01 семестр / Задачи на Paskal / Условные операторы. Циклы / 03
.txt Поиск максимального элемента среди минимальных элементов столбцов
сб, 02/12/2011 - 20:46 — tech
Темы учебника
Вложенные конструкции if-else
Двумерные массивы
Циклы в Паскале
Задача:
Дано: целочисленная матрица из n строк и m столбцов.
Найти: максимум из наименьших элементов столбцов.
Алгоритм решения задачи:
Примерный алгоритм решения 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.
сб, 02/12/2011 - 20:46 — tech
Темы учебника
Вложенные конструкции if-else
Двумерные массивы
Циклы в Паскале
Задача:
Дано: целочисленная матрица из n строк и m столбцов.
Найти: максимум из наименьших элементов столбцов.
Алгоритм решения задачи:
Примерный алгоритм решения 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.