#include<iostream>
#include<cmath>
#include<fstream>
using namespace std;
void readfile(int arr[][9],int s)
{
ifstream in;
in.open("file.txt");
if(!in)
{
cout<<"File Not Found"<<endl;
exit(1);
}
for(int i=0;i<s;i++)
{
for(int j=0;j<9;j++)
{
in>>arr[i][j];
}
}
}
void possibilities(int arr[][9],int s)
{
int pos[9];
int x=0;
bool check=1;
int power=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
x=0;
if(arr[i][j]==0){
for(int a=1;a<=9;a++)
{
check=1;
if(a!=arr[i][j] && a!=arr[i][j+3] && a!=arr[i][j+6] && a!=arr[i+3][j] && a!=arr[i+3][j+3] && a!=arr[i+3][j+6] && a!=arr[i+6][j] && a!=arr[i+6][j+3] && a!=arr[i+6][j+3])
{
for(int b=0;b<3;b++)
{
for(int c=0;c<3;c++)
{
if((b!=i || c!=j) && a!=arr[b][c])
{
check=1;
}
else if((b!=i || c!=j) && a==arr[b][c])
{
check=0;
break;
}
}
if(check==0)
{
break;
}
}
if(check==1)
{
pos[x]=a;
x++;
}
}
}
for(int z=0;z<x;z++)
{
double exp;
int temp;
exp=x-z-1;
temp=pow(10,exp);
temp=temp*pos[z];
arr[i][j]+=temp;
}
}
}
}
}
int main()
{
const int size=9;
int sudoku[size][size]={0};
readfile(sudoku,size);
possibilities(sudoku,size);
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
cout<<sudoku[i][j]<<"\t";
if( j==8)
{
cout<<endl<<endl;
}
}
cout<<endl<<endl<<endl;
}
return 0;
}
this is what i made of sudoku code and it is not working..=(.. please somebody help..=/