7191 Hexagonal Board
Problem Code HEXBOARD
#include<stdio.h>
int main()
{
int n,a=3,d=4,val,i,j;
scanf("%d",&n);
while(n!=-1)
{
val=a+(n-1)*d;
val=val-1;
int s[val+1][val+1];
for(i=0;i<=val;i++)
{
for(j=0;j<=val;j++)
s[i][j]=0;
}
s[0][val/2]=95;
for(i=1;i<=val/2;i++)
{
for(j=0;j<=val;j++)
{
if(s[i-1][j]==95)
{
s[i][j-1]=47;
s[i][j+1]=92;
}
if(s[i-1][j]==47){
//if(j-1>=0)
//s[i-1][j-1]=95;
//else
s[i][j]=92;
}
if(s[i-1][j]==92){
//if(j+1<=val)
//s[i-1][j+1]=95;
//else
s[i][j]=47;
}
}
//second loop//
for(j=0;j<=val;j++)
{
if(s[i][j]==47)
{
if(j-1>=0)
s[i][j-1]=95;
}
if(j+2<=val)
{
if(s[i][j]==92&&s[i][j+2]==47)
s[i][j+1]=95;
}
if(s[i][j]==92)
{
if(j+1<=val)
s[i][j+1]=95;
}
}
}
/*for(i=val/2+1;i<=val;i++)
{
for(j=0;j<=val;j++)
{
if(s[i][j]!=0)
printf("%c",s[i][j]);
else
printf(" ");
}
printf("\n");
}*/
for(i=0;i<=val/2;i++)
{
for(j=0;j<=val;j++)
{
if(s[i][j]!=0)
{
if(s[i][j]==47)
s[val-i+1][j]=92;
//printf("%c",92);
else if(s[i][j]==92)
s[val-i+1][j]=47;
//printf("%c",47);
else if(s[i][j]==95)
s[val-i][j]=95;
//printf("%c",s[i][j]);
}
// else
//printf(" ");
}
//printf("\n");
}
for(i=0;i<=val;i++)
{
for(j=0;j<=val;j++)
{
if(s[i][j]!=0)
printf("%c",s[i][j]);
else
printf(" ");
}
printf("\n");
}
printf("***\n");
scanf("%d",&n);
}
return 0;
}