Вывести элементы матрицы по спирали - C#
Формулировка задачи:
Помогите решить пожалуйста на С#
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь по часовой стрелке, вывести все ее элементы по спирали: первая строка, последний столбец, последняя строка в обратном порядке, первый столбец в обратном порядке, оставшиеся элементы второй строки и т. д.; последним выводится центральный элемент матрицы.
Решение задачи: «Вывести элементы матрицы по спирали»
textual
Листинг программы
static void Main(string[] args)
{
int m;
m = Convert.ToInt32(Console.ReadLine());
int[,] mat = new int[m, m];
Random r = new Random();
for (int i = 0; i < m; i++)
{
Console.WriteLine();
for (int j = 0; j < m; j++)
{
mat[i, j] = r.Next(100);
Console.Write(mat[i, j] + " ");
}
}
Console.WriteLine();
Console.WriteLine();
int a=0, b=1, c=2;
for (int i = 0; i < m; i++)
{
for (int j = a; j < m-a; j++)
{
Console.Write(mat[a, j] + " ");
}
for (int j = b; j < m-a; j++)
{
Console.Write(mat[j, m - b] + " ");
}
for (int j = m - c; j >= a; j--)
{
Console.Write(mat[m - b, j] + " ");
}
for (int j = m - c; j > a; j--)
{
Console.Write(mat[j, a] + " ");
}
a++;
b++;
c++;
}
Console.ReadKey();
}