Найти максимальный элемент среди минимальных элементов строк матрицы - C (СИ)
Формулировка задачи:
задача такова: создать двумерный массив ( с клавиатуры), потом в каждой строке найти минимальный элемент, а среди них максимальный и вывести его
Решение задачи: «Найти максимальный элемент среди минимальных элементов строк матрицы»
textual
Листинг программы
#include <stdio.h>
#define N 3
int main() {
int i, j;
int a[N][N];
int max, min;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
scanf("%d", &a[i][j]);
}
}
min = a[0][0];
for (j = 0; j < N; j++) {
if (a[0][j] < min) {
min = a[0][j];
}
}
max = min;
for (i = 1; i < N; i++) {
min = a[i][0];
for (j = 0; j < N; j++) {
if (a[i][j] < min) {
min = a[i][j];
}
}
if (max < min) {
max = min;
}
}
printf("result: %d\n", max);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены массив и переменные:
a[N][N]- двумерный массив для хранения чисел;i,j- индексы для перемещения по массиву;max,min- переменные для хранения максимального и минимального значений.
- Заполнение массива числами с помощью функции
scanf(). - Нахождение минимального значения в первой строке матрицы и сохранение его в переменной
min. - Перебор всех элементов матрицы для поиска минимального значения в каждой строке и обновление переменной
min. - Обновление переменной
maxдля хранения текущего максимального значения. - Перебор всех строк матрицы, начиная со второй, для поиска максимального значения в каждой строке.
- Вывод найденного максимального значения на экран.
- Возврат 0, что означает успешный конец работы программы.