Найти разность модулей max и min элемента матрицы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, написать программу, определяющую разность модулей максимального и минимального элементов матрицы. Размерность матрицы вводится пользователем с клавиатуры, а сама матрица заполняется случайными числами из указанного пользователем диапазона.

Решение задачи: «Найти разность модулей max и min элемента матрицы»

textual
Листинг программы
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <conio.h>
  5. #include <locale>
  6.  
  7. void GEN(int **massive, int a, int b, int N, int M)
  8. {
  9.     for (int i = 0; i < N; i++)
  10.     {
  11.         for (int j = 0; j < M; j++)
  12.         {
  13.             massive[i][j] = rand() % (b - a + 1) + a;
  14.         }
  15.     }
  16. }
  17.  
  18. int main()
  19. {
  20.     setlocale(LC_ALL, "Russian");
  21.     int N, a, b, M;
  22.     printf("Введите количество строк матрицы: ");
  23.     scanf_s("%d", &N);
  24.     printf("Введите количество столбцов матрицы: ");
  25.     scanf_s("%d", &M);
  26.     printf("Введите начальную границу генерации числа: ");
  27.     scanf_s("%d", &a);
  28.     printf("Введите конечную границу генерации числа: ");
  29.     scanf_s("%d", &b);
  30.  
  31.     int **massive;
  32.     massive = (int**)malloc(N * sizeof(int*));
  33.     for (int i = 0; i < N; i++)
  34.     {
  35.         massive[i] = (int*)malloc(M * sizeof(int));
  36.     }
  37.  
  38.     GEN(massive, a, b, N, M);
  39.    
  40.     for (int i = 0; i < N; i++)
  41.     {
  42.         for (int j = 0; j < M; j++)
  43.         {
  44.             printf("%d\t", massive[i][j]);
  45.         }
  46.         printf("\n");
  47.     }
  48.  
  49.     printf("\n");
  50.  
  51.     int min = massive[0][0], max = massive[0][0];// присваиваем первый элемент матрицы в min и max
  52.     for (int j = 0; j < M; j++)//проходим по строкам
  53.     for (int i = 1; i < N; i++)//проходим по столбцам
  54.     {
  55.         if (massive[j][i] < min)//если встретили элемент меньше чем min то присваиваем его к min
  56.         {
  57.             min = massive[j][i];
  58.         }
  59.         else if (max < massive[j][i])// тоже самое только с максимумом
  60.         {
  61.             max = massive[j][i];
  62.         }
  63.     }
  64.     printf("max = %d\nmin = %d", max, min);
  65.     int razn_abs = fabs(max) - fabs(min);//fabs функция модуля погугли сразу поймешь
  66.     printf("\nРазность модулей = %d", razn_abs);
  67.  
  68.     _getch();
  69. }

Объяснение кода листинга программы

  1. Ввод данных: количество строк, количество столбцов, начальная граница генерации числа, конечная граница генерации числа.
  2. Выделение памяти под матрицу.
  3. Генерация случайных чисел в заданном диапазоне и заполнение матрицы.
  4. Вывод содержимого матрицы на экран.
  5. Поиск минимального и максимального элемента матрицы и присвоение их значениям переменных min и max.
  6. Вычисление разности модулей max и min.
  7. Ввод данных с клавиатуры.
  8. Вывод результата на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы