Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N^2 по спирали - C#
Формулировка задачи:
Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N2 по спирали (см. примеры).
Ввод
В первой строке находится единственное число N.Вывод
Выводится N строк по N чисел, разделённых пробелами. Не допускается начинать спираль в ином, кроме верхнего левого, углу, закручивать спираль против часовой стрелки или изнутри наружу.Ограничения
2 < N < 100.Решение задачи: «Вывести квадрат, состоящий из NxN клеток, заполненных числами от 1 до N^2 по спирали»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace govnische { class Program { static void Main(string[] args) { byte s = byte.Parse(Console.ReadLine()); int[,] masviv = new int[s, s]; for (int i = 0; i < s; i++) { for (int j = 0; j < s; j++) { masviv[i, j] = 0; } } masviv[0,0] = 1; int maswir = s - 1, maswirrrr = 0; while(maswir>=maswirrrr) { for (int i = maswirrrr, j = maswirrrr; j <= maswir; j++) { { if (j!=0) masviv[i, j] = masviv[i, j-1] + 1; } } for (int i = maswirrrr, j = maswir; i <= maswir; i++) { { if (i != maswirrrr) masviv[i, j] = masviv[i-1, j] + 1; } } for (int i = maswir, j = maswir; j >= maswirrrr; j--) { { if (j != maswir) masviv[i, j] = masviv[i, j + 1] + 1; } } for (int i = maswir, j = maswirrrr; i > maswirrrr;i--) { if (i != maswir) masviv[i, j] = masviv[i + 1, j] + 1; } maswir -= 1; maswirrrr += 1; } for (int i = 0; i < s; i++) { for (int j = 0; j < s; j++) { Console.Write(masviv[i, j] + " "); } Console.WriteLine(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д