Найти разность модулей max и min элемента матрицы - C (СИ)
Формулировка задачи:
Помогите, пожалуйста, написать программу, определяющую разность модулей максимального и минимального элементов матрицы. Размерность матрицы вводится пользователем с клавиатуры, а сама матрица заполняется случайными числами из указанного пользователем диапазона.
Решение задачи: «Найти разность модулей max и min элемента матрицы»
textual
Листинг программы
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #include <conio.h>
- #include <locale>
- void GEN(int **massive, int a, int b, int N, int M)
- {
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < M; j++)
- {
- massive[i][j] = rand() % (b - a + 1) + a;
- }
- }
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int N, a, b, M;
- printf("Введите количество строк матрицы: ");
- scanf_s("%d", &N);
- printf("Введите количество столбцов матрицы: ");
- scanf_s("%d", &M);
- printf("Введите начальную границу генерации числа: ");
- scanf_s("%d", &a);
- printf("Введите конечную границу генерации числа: ");
- scanf_s("%d", &b);
- int **massive;
- massive = (int**)malloc(N * sizeof(int*));
- for (int i = 0; i < N; i++)
- {
- massive[i] = (int*)malloc(M * sizeof(int));
- }
- GEN(massive, a, b, N, M);
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < M; j++)
- {
- printf("%d\t", massive[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- int min = massive[0][0], max = massive[0][0];// присваиваем первый элемент матрицы в min и max
- for (int j = 0; j < M; j++)//проходим по строкам
- for (int i = 1; i < N; i++)//проходим по столбцам
- {
- if (massive[j][i] < min)//если встретили элемент меньше чем min то присваиваем его к min
- {
- min = massive[j][i];
- }
- else if (max < massive[j][i])// тоже самое только с максимумом
- {
- max = massive[j][i];
- }
- }
- printf("max = %d\nmin = %d", max, min);
- int razn_abs = fabs(max) - fabs(min);//fabs функция модуля погугли сразу поймешь
- printf("\nРазность модулей = %d", razn_abs);
- _getch();
- }
Объяснение кода листинга программы
- Ввод данных: количество строк, количество столбцов, начальная граница генерации числа, конечная граница генерации числа.
- Выделение памяти под матрицу.
- Генерация случайных чисел в заданном диапазоне и заполнение матрицы.
- Вывод содержимого матрицы на экран.
- Поиск минимального и максимального элемента матрицы и присвоение их значениям переменных min и max.
- Вычисление разности модулей max и min.
- Ввод данных с клавиатуры.
- Вывод результата на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д