Дана матрица размера M x N. Найти суммы элементов всех ее четных строк и нечетных столбцов - C (СИ)
Формулировка задачи:
Ребята, помогите пожалуйста. Не могу понять, почему не работает. Точнее она работает, но не до конца. 2х2 считает верно, 3х3 тоже верно считает, 4х4 - частично верно. почему дальше не правильно?
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int m, n, a[m][n]; int i, j; int Sum_Stol=0, Sum_Str=0; printf ("\n M = "); scanf ("%d", &i); printf (" N = "); scanf ("%d", &j); printf ("\n"); for (m=0; m<i; m++) for (n=0; n<j; n++) { printf (" a[%d][%d] =", m+1, n+1); scanf ("%d", &a[m][n]); } for (m=0; m<i; m++) for (n=0; n<j; n++) if((m+1)%2==0) Sum_Str= Sum_Str + a[m][n]; for (m=0; m<i; m++) for (n=0; n<j; n++) if ((n+1)%2!=0) Sum_Stol= Sum_Stol + a[m][n]; printf ("\n Strok - %d", Sum_Str); printf ("\n Stolbzov - %d\n", Sum_Stol); system ("PAUSE"); return 0; }
Решение задачи: «Дана матрица размера M x N. Найти суммы элементов всех ее четных строк и нечетных столбцов»
textual
Листинг программы
for(int i = 0; i < n; i++) { a[i] = (int *)malloc(j*sizeof(int)); }
Объяснение кода листинга программы
В данном коде выделяется память под матрицу размером M x N, где M - количество строк, N - количество столбцов. Для этого используется оператор malloc, который выделяет память под целочисленный массив размером j (количество элементов в строке). В цикле for происходит выделение памяти под каждую строку матрицы. Переменная i
обозначает номер текущей строки, а переменная j
- количество элементов в строке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д