#include <stdio.h> #include <stdlib.h> #include <time.h> void FillBingoCard(int bingocard[5][5]); void PrintCard(int bingocard[5][5], int called[3], char yn[1]); int PickNumber(int called[3], int callednumber[75], int counter); int drawnnumber(int bingocard[5][5], int called[3]); void completedrowcolumn(int bingocard[5][5], int win); int main(void) { //array of bingo numbers int row = 5; int col = 5; int bingocard[row][col]; int called[3]; int counter = 0; int callednumber[75]; char yn[1]; int win = 0; //fill bingocard void FillBingoCard(int bingocard[5][5]) { int i, j, k; int temp; srand(time(NULL)); for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { temp = rand() % 15 + 1 + j * 15; for (k = 0; k < j; k++) { if (temp == bingocard[i][k]) { j--; break; } } bingocard[i][j] = temp; } } bingocard[2][2] = -1; } void PrintCard(int bingocard[5][5], int called[3], char yn[1]) { int i, j; printf(" B I N G On"); for (i = 0; i < 5; i++) { printf("----------------------n"); for (j = 0; j < 5; j++) { if (bingocard[i][j] == -1) { printf("| X "); } else if (called[0] == 'B' && called[1] == bingocard[i][j]) { printf("| %2d", bingocard[i][j]); } else if (called[0] == 'I' && called[1] == bingocard[i][j]) { printf("| %2d", bingocard[i][j]); } else if (called[0] == 'N' && called[1] == bingocard[i][j]) { printf("| %2d", bingocard[i][j]); } else if (called[0] == 'G' && called[1] == bingocard[i][j]) { printf("| %2d", bingocard[i][j]); } else if (called[0] == 'O' && called[1] == bingocard[i][j]) { printf("| %2d", bingocard[i][j]); } else { printf("| %2d", bingocard[i][j]); } } printf("|n"); } printf("----------------------n"); printf("Have you got number %c%d? (Y/N) ", called[0], called[1]); scanf(" %c", yn); } int PickNumber(int called[3], int callednumber[75], int counter) { int temp; srand(time(NULL)); do { temp = rand() % 75 + 1; } while (callednumber[temp - 1] != 0); callednumber[temp - 1] = 1; called[1] = temp; if (temp <= 15) { called[0] = 'B'; } else if (temp <= 30) { called[0] = 'I'; } else if (temp <= 45) { called[0] = 'N'; } else if (temp <= 60) { called[0] = 'G'; } else { called[0] = 'O'; } return *called; } int drawnnumber(int bingocard[5][5], int called[3]) { int row, col; int found = 0; for (row = 0; row < 5; row++) { for (col = 0; col < 5; col++) { if (bingocard[row][col] == called[1]) { bingocard[row][col] = -1; found = 1; } } } if (found == 1) { return 1; } else { return 0; } } { int row, col; // check for completed rows for (row = 0; row < 5; row++) { int count = 0; for (col = 0; col < 5; col++) { if (bingocard[row][col] == -1) { count++; } } if (count == 5) { printf("nBINGO! You completed row %d.", row + 1); win = 1; } } // check for completed columns for (col = 0; col < 5; col++) { int count = 0; for (row = 0; row < 5; row++) { if (bingocard[row][col] == -1) { count++; } } if (count == 5) { printf("nBINGO! You completed column %d.", col + 1); win = 1; } } } void completedrowcolumn(int bingocard[5][5], int win) { int row, col, diag, count; // ch.