С++.Двумерный массив: подсчитать сумма отрицательных нечётных элементов в столбце

помогите пожалуйста , нужно подсчитать сумму отрицательных нечётных элементов, сумму элементов в столбцах c минусовыми числами. На выходе данные выдает не соответствующие действительности. где-то задал неверно условие.

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    int rows = 5;
    int colls = 6;
    int sum = 0;
    int **arr = new int*[rows]; // хранение указателей на массив **- значит двумерный-.
    for (int i = 0; i < rows; i++)
    {
        arr[i]=new int[colls];
    }

    /////////////////////////////////
    // Создаем массив:
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < colls; j++)
        {
            arr[i][j] = -2 + rand() % 12;
            //sum = sum + arr[i][j];
        }
    }

    /////////////////////////////////
    // Выводим масиив:
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < colls; j++)
        {
            cout << arr[i][j] << "\t"; 
        }
        cout << endl;
    }

    ////////////////////////////////
    // сумма отрицательных нечётных элементов:
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < colls; j++)
        {
            if (arr[i][j] < 0 && arr[i][j] % 2 !=0 )
            {
                int sum = 0;
                for (int n = 0; n < colls; n++)
                {
                    sum += abs(arr[j][i]); // находим модули отрицательных нечетных элементов
                }
                cout << "сумма элементов = " << sum << endl;
                // break;
            }
        }
        cout << endl;
    }

   ////////////////////////////////
   // найти сумму  элементов в столбцах c минусовыми числами:
   for (int i = 0; i < rows; i++)
   {
       for (int j = 0; j < colls; j++)
       {
           if (arr[i][j] < 0)
           {
               int sum = 0;
               for (int n = 0; n < colls; n++)
               {
                   sum += arr[i][j];
               }
               cout << "сумма элементов столбца[" << j + 1 << "] = " << sum << endl;

           }
       }
       cout << endl;
   }

   //////////////////////////////////////
   // чистим память:
   for (int i = 0; i < rows; i++)
   {
       delete arr[i];
   }
   delete[] arr;
}

Ответы (0 шт):