Code:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int i,j,k=1;
int l=0,r=1,d=0,u=0;
int a[n][n];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=0;
i=0;
j=-1;
while(k<=(n*n))
{
if(r==1)
{
j++;
if(j==n || a[i][j]!=0)
{
r=0;
d=1;
j–;
}
else
{
a[i][j]=k;
k++;
}
}
else if(d==1)
{
i++;
if(i==n || a[i][j]!=0)
{
i–;
d=0;
l=1;
}
else
{
a[i][j]=k;
k++;
}
}
else if(l==1)
{
j–;
if(j<0 || a[i][j]!=0)
{
l=0;
j++;
u=1;
}
else
{
a[i][j]=k;
k++;
}
}
else if(u==1)
{
i–;
if(i<0 || a[i][j]!=0)
{
i++;
u=0;
r=1;
}
else
{
a[i][j]=k;
k++;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<a[i][j]<<“\t”;
cout<<“\n”;
}
return 0;
}
Input:
5
Output:
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
Input:
4
Output:
1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
simply superb….