Дана матрица размера 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 - количество элементов в строке.

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


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

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

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