Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив - C#
Формулировка задачи:
Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив, каждый элемент которого равен произведению нечетных положительных элементов соответствующего столбца.
Помогите пожалуйста, если можно, то с комментариями. Спасибо!
Решение задачи: «Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив»
textual
Листинг программы
using System;
namespace ConsoleApplication
{
class Program
{
static void Main()
{
int N = 5; // кол-во строк
int M = 6; // столбцов
int[,] matrix = new int[N, M];
Random rand = new Random();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
matrix[i, j] = rand.Next(-5, 5); // каждый элемент массива инициализируется случайным значением от -5 до 5
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
int[] array = new int[M]; // искомый массив
for (int i = 0; i < M; i++)
{
array[i] = 1; // каждый элемент массива инициализируется 1 (а не 0, например) т.к. будет участвовать в умножении (или не будет, но это в программе не учитывал)
for (int j = 0; j < N; j++) // проходимся по столбцам изначального двумерного массива
if (matrix[j, i] % 2 == 1 && matrix[j, i] > 0) // если элемент нечетный и положительный
array[i] *= matrix[j, i]; // то он участвует в произведении
Console.Write(array[i] + " "); // заодно и выводим результат
}
Console.ReadKey(); // ожидание ввода символа (пауза)
}
}
}