Hello and thanks for your time. I came across an unusual problem, while executing the following code. A[0][0], when written onto the text becomes a 0, while it should have been a 1. All other numbers are as they should be.
int main() { int i,j,A[9][9],k; short int a; char ans; FILE *Current; for (i=0;i<9;i++) for (j=0;j<9;j++) A[i][j]=i+1; do { disp(A); // This is a function i use to display the array scanf("%d",&a); switch (a) { case 1: if ((Current=fopen("Current.sud","r"))==NULL) printf("Error saving file\n"); else { for (i=0;i<9;i++) { for (j=0;j<9;j++) fscanf(Current,"%d",&A[i][j]); // fprintf(Current,"\n"); } } fclose (Current); break; case 2: if ((Current=fopen("Current.sud","w"))==NULL) printf("Error opening file\n"); else { for (i=0;i<9;i++) { for (j=0;j<9;j++) fprintf(Current,"%d ",A[i][j]); fprintf(Current,"\n"); } } fclose (Current); break; case 3: do { printf("Do you wish to clear this Sudoku? Y/N\n"); ans=getch(); } while ((ans!='Y') && (ans!='y') && (ans!='N') && (ans!='n')); if (ans=='Y' || ans=='y') A[9][9]=Clean(A); break; } } while (a!=9); // I also have a few other case, completely irrelevant, so i didn't post hem up