В матрице найти строки с максимальным и минимальным элементами - C (СИ)
Формулировка задачи:
В матрицы размерностью mxn найти строки с максимальным и минимальным элементами. Вывести на экран найденные строки.
Решение задачи: «В матрице найти строки с максимальным и минимальным элементами»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 200 void main(void) { int arr[N][N], min, max, min_i, max_i, n, m, i, j; printf("Enter matrix size m*n (m:n):"); scanf("%i %i", &m, &n); //Вводим размер матрицы srand(time(NULL)); for (i = 0; i < m; i++) // Задаем и выводим случайную матрицу { for (j = 0; j < n; j++) { arr[i][j] = rand() % 150 - 50; printf("%4i", arr[i][j]); } printf("\n"); } max = arr[0][0]; min = arr[0][0]; //Начальные значения для поиска min_i = 0; max_i = 0; for (i = 0; i < m; i++) for (j = 0; j < n; j++) { if (min > arr[i][j]) //Ищем минимальное значения { min_i = i; min = arr[i][j]; } if (max < arr[i][j]) // Ищем максимальное значения { max_i = i; max = arr[i][j]; } } printf("String[%i] with a min element: \n", min_i + 1); // Выводим строки с минимальным и максимальным for (i = 0; i < m; i++) printf("%4i", arr[min_i][i]); printf("\n\nString[%i] with a max element: \n", max_i + 1); for (i = 0; i < m; i++) printf("%4i", arr[max_i][i]); system("Pause"); }
Объяснение кода листинга программы
- Ввод размера матрицы m*n с помощью функции scanf.
- Создание случайной матрицы размером m*n с помощью цикла for и функции rand().
- Инициализация переменных max и min первым элементом первой строки матрицы.
- Инициализация переменных min_i и max_i значением 0.
- Поиск минимального и максимального значений в матрице с помощью двух вложенных циклов for и условных операторов if.
- Вывод строк с минимальным и максимальным значениями с помощью функции printf.
- Ввод в консоль командкой system(
Pause
) для приостановки работы программы до нажатия клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д