Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   sudoku solver!!not giving output!! (http://www.go4expert.com/forums/sudoku-solvernot-giving-output-t11985/)

vaibhav_cbeginner 9Jul2008 22:56

sudoku solver!!not giving output!!
 
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..


All times are GMT +5.5. The time now is 23:52.