Skip to content

Instantly share code, notes, and snippets.

@firateski
Last active March 12, 2020 08:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save firateski/2cae02bcd643185b06b96797560338cc to your computer and use it in GitHub Desktop.
Save firateski/2cae02bcd643185b06b96797560338cc to your computer and use it in GitHub Desktop.
C# Spiral Matrix / Salyangoz Matris
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter dimension for spiral matrix:");
int matrisDim = int.Parse(Console.ReadLine());
int[,] matris = new int[matrisDim, matrisDim];
matris.Initialize();
int apsisIterator = 0, ordinatIterator = 0, sum = 1;
bool increment = true;
for (int i = 0; i < matrisDim; i++)
{
matris[apsisIterator, ordinatIterator] = sum;
if (increment)
{
while (apsisIterator + 1 < matrisDim && matris[apsisIterator + 1, ordinatIterator] == 0)
matris[++apsisIterator, ordinatIterator] = ++sum;
while (ordinatIterator + 1 < matrisDim && matris[apsisIterator, ordinatIterator + 1] == 0)
matris[apsisIterator, ++ordinatIterator] = ++sum;
}
else
{
while (apsisIterator > 0 && matris[apsisIterator - 1, ordinatIterator] == 0)
matris[--apsisIterator, ordinatIterator] = ++sum;
while (ordinatIterator > 0 && matris[apsisIterator, ordinatIterator - 1] == 0)
matris[apsisIterator, --ordinatIterator] = ++sum;
}
increment = !increment;
}
for (int i = 0; i < matrisDim; i++)
{
for (int j = 0; j < matrisDim; j++)
Console.Write(matris[j, i] + "\t");
Console.WriteLine();
}
Console.ReadKey();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment