Заполнение матрицы по спирали - C# (200884)
Формулировка задачи:
Заполнить матрицу натуральными числами l..N*N, где N - размер матрицы. В программе предусмотреть возможность изменения размера матрицы.
Можно через консоль, помогите пожалуйстаРешение задачи: «Заполнение матрицы по спирали»
textual
Листинг программы
using System; namespace A { class Program { static void Main(string[] args) { const int N = 9; int[,] mas = new int[N, N]; int aY = N / 2, aX = N / 2, cnt = 1; mas[aY, aX] = cnt++; for (int u = 1; u < N / 2 + 1; u++) { aY++; aX++; for (int k = 0; k < 2 * u; k++) mas[aY, --aX] = cnt++; for (int k = 0; k < 2 * u; k++) mas[--aY, aX] = cnt++; for (int k = 0; k < 2 * u; k++) mas[aY, ++aX] = cnt++; for (int k = 0; k < 2 * u; k++) mas[++aY, aX] = cnt++; } for (int y = 0; y < N; y++) { for (int x = 0; x < N; x++) Console.Write("{0,2} ", mas[y, x]); Console.WriteLine(); } Console.Read(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д