8
sudoku.BAK #include<iostream.h> #include<conio.h> #include<stdlib.h> void main() { randomize(); clrscr(); int sudoku[9][9],ctr=0,ctrc=0,ctrw=0,chk=0,ayush=0,at=0,at1=0,at2=0; int randomr,randomc; for(int r=0;r<9;r++) { for(int c=0;c<9;c++) { sudoku[c][r]=0; } } for(int varctr=1;varctr<=9;varctr++) { randomr=random(9); randomc=random(9); sudoku[randomr][randomc]=varctr; ayush++; } int gtx=10,gty=5; for(int r1=0;r1<9;r1++) { for(int c1=0;c1<9;c1++) { gotoxy(gtx,gty); cout<<sudoku[c1][r1]; gtx=gtx+6; } gty=gty+4; gtx=10; } while(ayush!=81) { chk=0; gotoxy(4,42); cout<<"Enter the row you wish to edit: "; int redit; cin>>redit; gotoxy(4,44); cout<<"Enter the column you wish to edit: "; Page 1

Sudoku

Embed Size (px)

DESCRIPTION

C++ Source code for sudoku

Citation preview

Page 1: Sudoku

sudoku.BAK#include<iostream.h>#include<conio.h>#include<stdlib.h>void main(){randomize();clrscr();int sudoku[9][9],ctr=0,ctrc=0,ctrw=0,chk=0,ayush=0,at=0,at1=0,at2=0;int randomr,randomc;

for(int r=0;r<9;r++){for(int c=0;c<9;c++){sudoku[c][r]=0;}}for(int varctr=1;varctr<=9;varctr++){randomr=random(9);randomc=random(9);sudoku[randomr][randomc]=varctr;ayush++;}

int gtx=10,gty=5;for(int r1=0;r1<9;r1++){

for(int c1=0;c1<9;c1++){gotoxy(gtx,gty);cout<<sudoku[c1][r1];gtx=gtx+6;}

gty=gty+4;gtx=10;}

while(ayush!=81){chk=0;gotoxy(4,42);cout<<"Enter the row you wish to edit: ";int redit;cin>>redit;gotoxy(4,44);cout<<"Enter the column you wish to edit: ";

Page 1

Page 2: Sudoku

sudoku.BAKint cedit;cin>>cedit;int cedp3=cedit%3,redp3=redit%3;

gotoxy(4,46);cout<<"Enter the value to be inserted in the cell: ";int vedit;

int gtx1=10+6*(redit-1), gty1=5+4*(cedit-1);gotoxy(gtx1,gty1);cin>>vedit;ctr++;

at=0;for(int c2=0;c2<9;c2++){

if(sudoku[redit-1][c2]!=vedit){at++;}

}at1=0;if(at==9){for(int r2=0;r2<9;r2++){

if(sudoku[r2][cedit-1]!=vedit){at1++;}

}}

if(at!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}

if(at1==9){

//1st ifif(redp3==0 && cedp3==0){

for(int rx=redit-3;rx<redit;rx++){for(int cx=cedit-3;cx<cedit;cx++){

Page 2

Page 3: Sudoku

sudoku.BAKif(sudoku[rx][cx]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}

}//2nd if

if(redp3==0 && cedp3==1){

for(int rx1=redit-3;rx1<redit;rx1++){for(int

cx1=cedit-1;cx1<cedit+2;cx1++){if(sudoku[rx1][cx1]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}

}//3rd if

if(redp3==0 && cedp3==2){

for(int rx2=redit-3;rx2<redit;rx2++){

Page 3

Page 4: Sudoku

sudoku.BAKfor(int

cx2=cedit-2;cx2<cedit+1;cx2++){if(sudoku[rx2][cx2]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}

}//4th if

if(redp3==1 && cedp3==0){

for(int rx3=redit-1;rx3<redit+2;rx3++){for(int cx3=cedit-3;cx3<cedit;cx3++){if(sudoku[rx3][cx3]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;

}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}

}//5th if

if(redp3==1 && cedp3==1)

Page 4

Page 5: Sudoku

sudoku.BAK{

for(int rx4=redit-1;rx4<redit+2;rx4++){for(int

cx4=cedit-1;cx4<cedit+2;cx4++){if(sudoku[rx4][cx4]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;

}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}}

//6th ifif(redp3==1 && cedp3==2){

for(int rx5=redit-1;rx5<redit+2;rx5++){for(int

cx5=cedit-2;cx5<cedit+1;cx5++){if(sudoku[rx5][cx5]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;

}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";

Page 5

Page 6: Sudoku

sudoku.BAKctrw++;}}

//7th ifif(redp3==2 && cedp3==0){

for(int rx6=redit-2;rx6<redit+1;rx6++){for(int cx6=cedit-3;cx6<cedit;cx6++){if(sudoku[rx6][cx6]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;

}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}}

//8th ifif(redp3==2 && cedp3==1){

for(int rx7=redit-2;rx7<redit+1;rx7++){for(int

cx7=cedit-1;cx7<cedit+2;cx7++){if(sudoku[rx7][cx7]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;

}

Page 6

Page 7: Sudoku

sudoku.BAKif(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}}

//9th ifif(redp3==2 && cedp3==2){

for(int rx8=redit-2;rx8<redit+1;rx8++){for(int

cx8=cedit-2;cx8<cedit+1;cx8++){if(sudoku[rx8][cx8]!=vedit);chk++;}}

if(chk==9){sudoku[redit-1][cedit-1]=vedit;ctrc++;

}if(chk!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}}

}if(at1!=9){gotoxy(5,49);cout<<"Incorrect Input\a";ctrw++;}

clrscr();gtx=10;gty=5;for(int r9=0;r9<9;r9++){

for(int c9=0;c9<9;c9++)

Page 7

Page 8: Sudoku

sudoku.BAK{

if(sudoku[c9][r9]!=0){ayush++;}

gotoxy(gtx,gty);cout<<sudoku[c9][r9];gtx=gtx+6;}

gty=gty+4;gtx=10;}

}//while closeclrscr();gotoxy(30,24);cout<<"You win";getch();}

Page 8