diff --git a/check1.c b/check1.c new file mode 100644 index 0000000..1ac8a1d --- /dev/null +++ b/check1.c @@ -0,0 +1,65 @@ +#include +#include +#include +void check(){ + int check,num; + int lie[9][9]={0}; + int hang[9][9]={0}; + int kua[9][9]={0}; + printf("The original Sudoku matrix: "); + int i,j; + int board[9][9]; + for(i=0;i<9;i++) + { + for(j=0;j<9;j++) + { + printf("%d",board[i][j]); + } + printf("\n"); + } + for(i=0;i<9;i++) + { + for(j=0;j<9;j++) + { + num=board[i][j]; + if(num<1||num>9) + check=0; + if(hang[i][num]) + { + check=0; + hang[i][num]=1;} + if(lie[i][num]) + { + check=0; + lie[i][num]=1;} + if(kua[(i/3)*3+j/3][num]) + { + check=0; + kua[(i/3)*3+j/3][num]=1; + } + else + check=1; + } + } + if(check==1) + printf("True:Valid initial Sudoku matrix!"); + else + printf("False:Invalid initial Sudoku matrix!"); + for(i=0;i<9;i++) + { + for(j=0;j<9;j++) + { + num=board[i][j]; + if(hang[i][num]) + printf("The number %d in the hang %d has been +used!"num,i); + if(lie[i][num]) + printf("The number %d in the lie %d has been +used!"num,i); + if(hua[(i/3)*3+j/3][num]) + printf("The number %d in the kua %d has been +used!"num,(i/3)*3+j/3); + } + } + +}