# sudoku solver!!not giving output!!

Discussion in 'C' started by vaibhav_cbeginner, Jul 9, 2008.

1. ### vaibhav_cbeginnerNew Member

Joined:
Jul 9, 2008
Messages:
1
0
Trophy Points:
0
i was trying to make a sudoku solver using c..since i hav just started learning c, i dont know anything about pointers and functions..
so i am trying to make it using simple loops and array..(is it actually possible to make it without functions??)
i have written a code for it(its not complete yet) ..when i compile the program ,it shows no error..but when i run it,
no output is coming..the program goes as:
Code:
```#include<stdio.h>
#include<conio.h>

void main()
{
int a[10][10],i,j,k,b,l,ans;
clrscr();
for(i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
printf("a(%d,%d)\t",i,j);
}
printf("\n\n\n");
}
for(i=1;i<10;i++)                     // input from user
{
for(j=1;j<10;j++)
{
printf(" a[%d,%d]?\n",i,j);         // i hav used 0 to represent a blank box
scanf("%d",&a[i][j]);
}
}
for(i=1;i<10;i++)                     //
{
for(j=1;j<10;j++)
{
b=0;
if(a[i][j]==0)                      //checks whether the box is empty
{
end:
ans=0;
b=b+1;                             //gives a value to empty box
for(k=1;k<10;k++)
{
if(a[i][k]==b||a[k][j]==b)        //checks whether that value is already occupied in the same row and column
{
ans=1;
}
}
for(k=1;k<4;k++)                   //
{
for(l=1;l<4;l++)
{
if(a[3*(i/3)+l][3*(j/3)+k]==b)   //checks whether that value is occupied by the bigger box containing nine boxes
{
ans=1;
}
}
}
if(ans=1)
{
goto end;                         //if yes, than it goes back and assign a higher value to the box
}
a[i][j]=b;
}
}
}
for(i=1;i<10;i++)                     //prints the result
{
for(j=1;j<10;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
getch();
}
```
the program is not yet complete as i havnt introduced the feedback yet..
can u tell me what is the problem with the code so far??why is it not giving any output??
when i remove the part which checks 'if the value lies in bigger box' it works fine..why??

srry i am not gud at explaining but hope u hav understood..

Last edited by a moderator: Jul 10, 2008