#include void Print_Board(int board[4][4], int already_correct[4][4], int g1, int g2); void Print_Board2(int board[4][4], int already_correct[4][4], int g1, int g2, int g3, int g4); int Finished(int finished[4][4]); int main() { int board[4][4] = { {1, 2, 6, 4}, {3, 7, 8, 2}, {3, 6, 1, 8}, {4, 5, 5, 7} }; int unguessed[4][4] = {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; int done = 0; int num_guesses = 0; int guess1, guess2; int guess3, guess4; while(!done) { printf("What is the first position? "); scanf("%d %d", &guess1, &guess2); Print_Board(board,unguessed,guess1,guess2); printf("What is the second position? "); scanf("%d %d", &guess3, &guess4); Print_Board2(board,unguessed,guess1,guess2,guess3,guess4); if(board[guess1][guess2] == board[guess3][guess4]) { unguessed[guess1][guess2] = 1; unguessed[guess3][guess4] = 1; } num_guesses++; printf("\n\n"); done = Finished(unguessed); } printf("Good job! It took %d guesses.\n", num_guesses); return 0; } int Finished(int already_correct[4][4]) { int finished = 1; int i,j; for(i=0; i<4; i++) { for(j=0; j<4; j++) { if(!already_correct[i][j]) finished = 0; } } return finished; } void Print_Board(int board[4][4],int already_correct[4][4],int g1, int g2) { int i,j; for(i=0; i<4; i++) { for(j=0; j<4; j++) { if(already_correct[i][j] || i==g1 && j==g2) { printf("%2d", board[i][j]); } else { printf(" *"); } } printf("\n"); } } void Print_Board2(int board[4][4],int already_correct[4][4],int g1, int g2, int g3, int g4) { int i,j; for(i=0; i<4; i++) { for(j=0; j<4; j++) { if(already_correct[i][j] || (i==g1 && j==g2) || (i==g3 && j==g4)) { printf("%2d", board[i][j]); } else { printf(" *"); } } printf("\n"); } }