С++.Двумерный массив: подсчитать сумма отрицательных нечётных элементов в столбце
помогите пожалуйста , нужно подсчитать сумму отрицательных нечётных элементов, сумму элементов в столбцах 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;
}