Вычислить значение наименьшего элемента для каждого столбца матрицы - C (СИ)

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

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

Вычислить значение наименьшего элемента для каждого столбца массива N <= 7, M <= 5(массив должен быть реализован через malloc)

Решение задачи: «Вычислить значение наименьшего элемента для каждого столбца матрицы»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <malloc.h>
  4.  
  5. int main()
  6. {
  7.   int *a;
  8.   int i, j, n, m;
  9.   system("chcp 1251");
  10.   system("cls");
  11.   printf("Введите количество строк: ");
  12.   scanf("%d", &n);
  13.   printf("Введите количество столбцов: ");
  14.   scanf("%d", &m);
  15.  
  16.   a = (int*) malloc(n*m*sizeof(int));
  17.  
  18.   for(i=0; i<n; i++)
  19.    {
  20.     for(j=0; j<m; j++)
  21.      {
  22.       printf("a[%d][%d] = ", i, j);
  23.       scanf("%d", (a+i*m+j));
  24.      }
  25.    }
  26.  
  27.   for(i=0; i<n; i++)
  28.   {
  29.     for(j=0; j<m; j++)
  30.       {
  31.        printf("%5d ", *(a+i*m+j));
  32.       }
  33.     printf("\n");
  34.   }
  35.  
  36.     int arrMin[m];
  37.     int min = 0;
  38.     for (j = 0; j < m; j++)
  39.     {
  40.         for ( i = 0; i < n; i++)
  41.         {
  42.             if (*(a+min*m+j) > *(a+i*m+j))
  43.             {
  44.                 min = i;
  45.             }
  46.         }
  47.         arrMin[m] = *(a+min*m+j);
  48.         printf("%d\n", arrMin[m]);
  49.     }
  50.  
  51.   free(a);
  52.   getchar();   getchar();
  53.   return 0;
  54. }

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

В этом коде:

  1. Объявлены переменные:
    • a - указатель на первый элемент массива, который будет содержать значения элементов матрицы;
    • i, j, n, m - целочисленные переменные, которые будут использоваться для описания строк, столбцов и количества строк и столбцов матрицы.
  2. С помощью функции scanf пользователю предлагается ввести количество строк и столбцов матрицы.
  3. С помощью функции malloc выделяется память под массив a размером n*m*sizeof(int).
  4. В цикле происходит заполнение матрицы значениями. Значения принимаются с клавиатуры.
  5. С помощью двух вложенных циклов происходит вывод значений матрицы на экран.
  6. Объявлен массив arrMin размером m, который будет содержать минимальные значения элементов каждого столбца.
  7. В цикле происходит поиск минимального значения в каждом столбце.
  8. В конце программы выводится на экран массив arrMin, содержащий минимальные значения элементов каждого столбца.
  9. С помощью функции free освобождается память, выделенная под массив a.
  10. С помощью функции getchar считываются символы, нажатые на клавиатуре, чтобы программа могла корректно завершить работу.

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


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

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

8   голосов , оценка 4 из 5

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

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

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