This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

IS IT A BUG ????



Hi,


The following is the program to print magic squares.I`m getting wierd output when i remove the printf statement "printf("a")" from the code. The required output is obtained by simply substituting that by putchar('\0'). I would be very glad if someone can let me know.
Please kindly help me regarding this.


Expecting an early rep,


Srujan.K.V.S



************************************************************************


//This is a simple program to design magic squares.
//A magic square is an arangment of numbers of numbers from 1 to n^2 such
// that any row, diagonal or column sums to the same. This program wil
//work for only odd sized squares
#include<stdio.h>
#include<stdlib.h>
#include<math.h> main() {
int n,x=1,i,j,k,p,r,t;
scanf("%d",&n);
printf("%d\n",n);
p=n*n;
int a[n][n];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=0;
i=0;j=(n-1)/2;
a[i][j]=1;// starting 1 int the first row central column. :)
//We try to put the next number in the top left diagonal square
//from the recent numbered square.
//If we have already numbered , we then number the square just
//below it.
for(k=1;k<p;k++)
{
if((i-1)<0&&j!=0&&a[n-1][j-1]==0) i=n;
if((j-1)<0&&i!=0&&a[i-1][n-1]==0) j=n;
if(i==0&&j==0&&a[n-1][n-1]==0)
{
i=n;j=n;
}
x++;
if(a[i-1][j-1]==0)
{
//The following printf statement if removed is alering the output when n=5
printf("a");


                        a[i-1][j-1]=x;
                        i=i-1;
                        j=j-1;

                }
                else
                {
                        if((i+1)>(n-1)) i=-1;
                        a[i+1][j]=x;
                        i=i+1;
                        j=j;
                }
        }
        for(i=0;i<n;i++)
        {
                for(j=0;j<n;j++)
                        printf("%4d \t",a[i][j]);
                printf("\n");
        }
}
*****************************************************************************



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]