Составить функцию нахождения минимального элемента матрицы - C (СИ)
Формулировка задачи:
Решение задачи: «Составить функцию нахождения минимального элемента матрицы»
#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 выделяет память под матрицу, но в конце программы эта память не освобождается. Это может привести к утечкам памяти в долгосрочной перспективе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д