Составить функцию нахождения минимального элемента матрицы - C (СИ)

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

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

Дана матрица составить Функцию нахождения минимального элемента

Решение задачи: «Составить функцию нахождения минимального элемента матрицы»

textual
Листинг программы
#include "stdlib.h"
#include "conio.h"
 
void vvod_matr(int m,int n,int *q)
 {
     int j,i;
 for ( i = 0; i < n; i++){
        for (j = 0; j < m ; j++)
            scanf("%d", (q+i*m+j)); 
 }
 for (i=0; i<n; i++)
{
  printf("\n");                 //vivod matr
    for (j=0; j<m; j++)
      printf("a[%d][%d]=%d\t", i+1, j+1, *(q+i*m+j));
 
 }
 }
 void max_matr(int m,int n,int *q)
 {
     int i,j,max;
     max=*(q+1*m+1);
     for(i=0;i<n;i++)
     {
         for(j=0;j<n;j++)
             if(max<*(q+i*m+j))
             max=*(q+i*m+j);
     }
      printf ("\n%d",max);
 }
 
 
int main()
{
int *p;
 int m,n;
 printf("Razmer N=");
    scanf("%d", &n);
    printf("Razmer M=");
    scanf("%d", &m);
 p=(int*)malloc(n*m*sizeof(int));
 vvod_matr(m,n,p);
 max_matr(m,n,p);
getch();
    return 0;
 
}

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

Код начинается с подключения необходимых библиотек: stdlib.h и conio.h. Затем определены две функции: vvod_matr и max_matr. Функция vvod_matr принимает три аргумента: m, n и q. Первый два аргумента используются для определения размера матрицы, а третий аргумент - это указатель на первый элемент матрицы. В этой функции происходит ввод данных в матрицу с помощью функции scanf. Затем данные выводятся на экран с помощью функции printf. Функция max_matr также принимает три аргумента: m, n и q. Она ищет максимальный элемент матрицы. Для этого она инициализирует переменную max значением первого элемента матрицы и затем сравнивает каждый элемент матрицы с этим максимальным значением. Если текущий элемент больше, то он становится новым максимальным значением. В конце функция выводит найденный максимум на экран. В функции main создается матрица заданного размера, вводится на экран сообщение с просьбой ввести размеры матрицы, после чего вызывается функция vvod_matr для заполнения матрицы. Затем вызывается функция max_matr для поиска максимального элемента матрицы. В конце работы программы вызывается функция getch для приостановки выполнения программы до нажатия клавиши. Код работает корректно, но есть некоторые проблемы с памятью. Функция malloc выделяет память под матрицу, но в конце программы эта память не освобождается. Это может привести к утечкам памяти в долгосрочной перспективе.

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


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

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

14   голосов , оценка 4 из 5
Похожие ответы