Задание такое. Определить номер столбца матрицы A, сумма элементов которого минимальна. Процедуру вычисления номер столбца произвольной матрицы, сумма элементов которого минимальна, оформить в виде функции пользователя (подпрограммы). Привести результаты расчетов для такой матрицы: int M[m][n] = {{2,7,9,4,1}, {1,6,3,0,5}, {7,0,1,4,7}}. Я написал программу для вычисления номера нужного столбца, и описал массив. Но не могу понять как запустить программу для данного массива. Программа должна выводить номер столбца. #include <stdio.h> #include <conio.h> #include <math.h> int min (int** M, int n, int m) { int R = 0; int k = 0; for(int i = 0; i < n; i++) k += M[0]; for(int j = 0; j<m; j++) { int t = 0; for(int i = 0; i<n; i++) t += M[j]; if(k>t) { R = j; k=t; } } return R; } int main(int argc, char** argv) { int m=5, n=3, rez; int M[m][n] = {{2,7,9,4,1}, {1,6,3,0,5}, {7,0,1,4,7}}; rez = min (M, m, n); printf("rez: %d", rez); }
sfds, у тебя неправильно заданы значения для массива M и неправильно прибавляется значение к ячейкам The post was merged to previous Jun 5, 2021 sfds, Смотри комментарии к скрину The post was merged to previous Jun 5, 2021 sfds, правильный код: (изменения выделил жирным и курсивом) #include <stdio.h> #include <conio.h> #include <math.h> const int m = 5; const int n = 3; int min(int M[m][n], int n, int m) { int R = 0; int k = 0; for (int i = 0; i < n; i++) k += M[0]; for (int j = 0; j < m; j++) { int t = 0; for (int i = 0; i < n; i++) t += M[j]; if (k > t) { R = j; k = t; } } return R; } int main(int argc, char** argv) { int rez; int M[m][n] = {2,7,9,4,1, 1,6,3,0,5, 7,0,1,4,7}; rez = min(M, m, n); printf("rez: %d", rez); }