Вывести элементы матрицы на экран в определенном порядке - C#
Решение задачи: «Вывести элементы матрицы на экран в определенном порядке»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace задание3
{
class Program
{
static void DiagUp(int[,] arr, ref int i, ref int j)
{
while (i >= 0 && j >= 0)
{
Console.WriteLine(arr[i, j]);
i--;
j--;
}
i++;
j++;
if (j == 0)
{
i++;
}
else j--;
}
static void DiagDown(int[,] arr, ref int i, ref int j)
{
int n = arr.GetLength(0) - 1;
while (i <= n && j <= n)
{
Console.WriteLine(arr[i, j]);
i++;
j++;
}
i--;
j--;
if (i == n)
{
j--;
}
else i++;
}
static void Snake(int[,] arr)
{
int n = arr.GetLength(0) - 1;
int i = 0;
int j = n;
while (i != n || j != 0)
{
DiagUp(arr, ref i, ref j);
DiagDown(arr, ref i, ref j);
}
Console.WriteLine(arr[i, j]);
}
static void Main(string[] args)
{
Console.Write("n ");
int n = int.Parse(Console.ReadLine());
int[,] arr = new int[n, n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write("arr ");
arr[i, j] = int.Parse(Console.ReadLine());
}
}
Snake(arr);
Console.ReadKey();
}
}
}