Найти суммы элементов двухмерного массива целых чисел, расположенных на линиях - C#
Формулировка задачи:
Найти суммы элементов двухмерного массива целых чисел, расположенных на линиях, парал-лельных главной диагонали, и ниже нее.
Решение задачи: «Найти суммы элементов двухмерного массива целых чисел, расположенных на линиях»
textual
Листинг программы
namespace MatrDiag
{
class Program
{
static void diagon(int n, int[,] matr, int[] diag)
{
for (int i = 0; i < n; i++)
{
int s = 0;
for (int j = 0; j < i + 1; j++)
{
int i1 = n - 1 - i + j;
s += matr[i1, j];
}
diag[i] = s;
}
for (int i = n; i < 2*n-1; i++)
{
int s = 0;
int i1 = i - n;
for (int j = 0; j < n-i1-1; j++)
{
int i2 = j + i1 +1;
s += matr[j, i2];
}
diag[i] = s;
}
}
static void Main(string[] args)
{
int N = 6;
int[,] matrix = new int[N, N];
int[] diag = new int[2*N- 1];
Random rnd = new Random();
Console.WriteLine("Матрица");
for (int i = 0; i < N; i++)
{
for (int t = 0; t < N; t++)
{
matrix[i, t] = rnd.Next(0, 10);
Console.Write(matrix[i, t] + "\t");
}
Console.WriteLine();
}
Console.WriteLine();
diagon(N, matrix, diag);
for (int i = 0; i < 2 * N - 1; i++)
Console.WriteLine("Номер диагонали = {0}, Сумма элементов = {1}", i + 1, diag[i]);
Console.ReadKey();
}
}
}