Найти сумму отрицательных нечётных элементов в столбце - C#
Формулировка задачи:
С# Найти сумму отрицательных нечётных элементов в столбце. Я не понимаю почему так считает сумму или так правильно ?
namespace ConsoleApplication5
{
class Program
{
static Random random = new Random();
static List<int> l = new List<int>();
static void Main(string[] args)
{
int i, j;
Console.WriteLine("Введите строки массива");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите количество столбцов массива:");
int m = Convert.ToInt32(Console.ReadLine());
int[,] mat = new int[n, m];
Console.WriteLine("Исходная матрица: ");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
mat[i, j] = random.Next(-100, 100);
Console.Write(mat[i, j] + "\t");
}
Console.WriteLine();
}
int[] summ = new int[m];
for (j = 0; j < m; j++)
{
summ[j] = 0;
for (i = 0; i < n; i++)
{
if (mat[i, j] < 0 && mat[i, j] % 2 != 0) //проверка на отрицательность и нечётность элемента матрицы
summ[j] += Math.Abs(mat[i, j]);
}
Console.WriteLine("Сумма отрицательных нечётных элементов в столбце равна :{0}", summ[j]);
}
Console.ReadLine();
}
}
}Решение задачи: «Найти сумму отрицательных нечётных элементов в столбце»
textual
Листинг программы
static void Main(string[] args)
{
Random random = new Random();
int i, j;
Console.WriteLine("Введите строки массива");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите количество столбцов массива:");
int m = Convert.ToInt32(Console.ReadLine());
int[,] mat = new int[n, m];
Console.WriteLine("Исходная матрица: ");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
mat[i, j] = random.Next(-100, 100);
Console.Write(mat[i, j] + "\t");
}
Console.WriteLine();
}
int summ;
for (i = 0; i < n; i++)
{
summ = 0;
for (j = 0; j < m; j++)
{
if (mat[j, i] < 0 && mat[j, i] % 2 != 0) //проверка на отрицательность и нечётность элемента матрицы
summ += (mat[j, i]);
}
Console.WriteLine("Сумма отрицательных нечётных элементов в столбце {0} равна :{1}", i,summ);
}
Console.ReadLine();
}