Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class NumbersAsSpiral
- {
- static void Main()
- {
- Console.Write("Input positive integer N (N<20)");
- byte n = byte.Parse(Console.ReadLine());
- int[,] array = new int[n, n];
- byte x = 0;
- byte y = 0;
- bool xUp = false;
- bool yUp = true;
- bool xDown = false;
- bool yDown = false;
- for (int i = 1; i <= n * n; i++)
- {
- array[x, y] = i;
- if (yUp && ((y + 1 >= n) || (array[x, y + 1] > 0)))
- {
- yUp = false;
- xUp = true;
- }
- if (xUp && ((x + 1 >= n) || (array[x + 1, y] > 0)))
- {
- xUp = false;
- yDown = true;
- }
- if (yDown && ((y == 0) || (array[x, y - 1] > 0)))
- {
- yDown = false;
- xDown = true;
- }
- if (xDown && ((x == 0) || (array[x - 1, y] > 0)))
- {
- xDown = false;
- yUp = true;
- }
- if (xUp)
- {
- x++;
- }
- if (xDown)
- {
- x--;
- }
- if (yUp)
- {
- y++;
- }
- if (yDown)
- {
- y--;
- }
- }
- printArray(array);
- }
- public static void printArray(int[,] array)
- {
- for (int i = 0; i < array.GetLength(0); i++)
- {
- for (int j = 0; j < array.GetLength(1); j++)
- {
- Console.Write("{0,4}",array[i,j]);
- }
- Console.WriteLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement