#include<iostream>
#include<string>
using namespace std;
int main()
{
int i,j,k,l,count=0,mov=0,n=1,end=0;
char A[200],B[100][100],C[100][100],T[10];
gets(T);
count=0;mov=0;n=1;end=0;
if(T[0]=='E')
{
gets(A);
while((2*n*n)<strlen(A))
{
n++;
}
if(n%2==0)
{
n++;
}
k=0;l=1;end=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(k<strlen(A))
{
B[i][j]=A[k];
k=k+2;
}
else
{
end=1;
break;
}
}
if(end==1)
{break;}
}
while(i<n)
{
while(j<n)
{
B[i][j]='/';
j++;
}
i++;
j=0;
}
end=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(l<strlen(A))
{
C[i][j]=A[l];
l=l+2;
}
else
{
end=1;
break;
}
}
if(end==1)
{break;}
}
while(i<n)
{
while(j<n)
{
C[i][j]='/';
j++;
}
i++;
j=0;
}
cout<<"OUTPUT IS"<<endl;
cout<<A<<endl;
i=n/2;j=n/2;mov=0;
cout<<B[i][j]<<C[i][j];
count++;
while(count<n*n)
{
mov++;
for(k=0;k<mov;k++)
{
if(count<n*n)
{
j--;
cout<<B[i][j]<<C[i][j];
count++;
}
}
for(k=0;k<mov;k++)
{
if(count<n*n)
{
i--;
cout<<B[i][j]<<C[i][j];
count++;
}
}
mov++;
for(k=0;k<mov;k++)
{
if(count<n*n)
{
j++;
cout<<B[i][j]<<C[i][j];
count++;
}
}
for(k=0;k<mov;k++)
{
if(count<n*n)
{
i++;
cout<<B[i][j]<<C[i][j];
count++;
}
}
}
cout<<endl;
}
else if(T[0]=='D')
{
gets(A);
while((2*n*n)<strlen(A))
{
n++;
}
if(n%2==0)
{
n++;
}
i=n/2;j=n/2;mov=0;l=0;
B[i][j]=A[l];l++;
C[i][j]=A[1];l++;
while(count<n*n)
{
mov++;
for(k=0;k<mov;k++)
{
if(count<n*n)
{
j--;
B[i][j]=A[l];l++;
C[i][j]=A[l];l++;
count++;
}
}
for(k=0;k<mov;k++)
{
if(count<n*n)
{
i--;
B[i][j]=A[l];l++;
C[i][j]=A[l];l++;
count++;
}
}
mov++;
for(k=0;k<mov;k++)
{
if(count<n*n)
{
j++;
B[i][j]=A[l];l++;
C[i][j]=A[l];l++;
count++;
}
}
for(k=0;k<mov;k++)
{
if(count<n*n)
{
i++;
B[i][j]=A[l];l++;
C[i][j]=A[l];l++;
count++;
}
}
}
cout<<"OUTPUT IS"<<endl;
cout<<A<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(B[i][j]!='/')
{cout<<B[i][j];}
if(C[i][j]!='/')
{cout<<C[i][j];}
}
}
cout<<endl;
}
return 0;
}
thank u for sharing this post Meraki Firewall
ReplyDeleteMeraki Cloud