Every line of this c program please explain. Thank you
Source Code:
// include necessary header files# include# include# includeint main(){ // Use current time as seed srand(time(0)); // declare variables int arr[5][5] = {0}, user_num[5] = {0}, k = 1, i, j; int num[75] = {0}, n, flag, count, winner = 0; // initialize num array for(i = 0; i < 75;=""> num[i] = k++; // initialize the array cell with random numbers for(i = 0; i < 5;=""> for(j = 0; j < 5;=""> while(1){ // generate random numbers n = rand() % 75; if(num[n] != 0){ arr[i][j] = n + 1; num[n] = 0; break; } } } } // display board printf(" B I N G O\n"); printf("--------------------------\n"); for(i = 0; i < 5;=""> for(j = 0; j < 5;=""> printf("%3d |",arr[i][j]); } printf("\n--------------------------\n"); printf("\n"); } // take input of five numbers printf("Input 5 number combination: "); for(i = 0; i < 5;=""> scanf("%d",&user_num[i]); // make the position 0 for all aviable number // if not found then not a winner for(i = 0; i < 5;=""> flag = 0; n = user_num[i]; for(j = 0; j < 5;=""> for(k = 0; k < 5;=""> if(arr[j][k] == n){ user_num[i] = 0; arr[j][k] = 0; flag = 1; break; } } if(flag == 1) break; } if(flag == 0) break; } if(flag == 0) printf("Not a winner!"); else{ // check horizontal for(j = 0; j < 5;=""> count = 0; for(k = 0; k < 5;=""> if(arr[j][k] == 0) count++; else break; } if(count == 5){ printf("BINGO winner!"); winner = 1; break; } } if(winner == 0){ // check vertical for(j = 0; j < 5;=""> count = 0; for(k = 0; k < 5;=""> if(arr[k][j] == 0) count++; else break; } if(count == 5){ printf("BINGO winner!"); winner = 1; break; } } } if(winner == 0){ // check principal diagonal count = 0; for(j = 0; j < 5;=""> if(arr[j][j] == 0) count++; } if(count == 5){ printf("BINGO winner!"); winner = 1; } } if(winner == 0){ // check secondary diagonal count = 0; if(arr[0][4] + arr[1][3] + + arr[2][2] + + arr[3][1] + + arr[4][0] == 0){ printf("BINGO winner!"); winner = 1; } } if(winner == 0) printf("No winner!"); }}
int main(){ // Use current time as seed srand(time(0)); // declare variables int arr[5][5] = {0}, user_num[5] = {0}, k = 1, i, j; int num[75] = {0}, n, flag, count, winner = 0; // initialize num array for(i = 0; i < 75;=""> num[i] = k++; // initialize the array cell with random numbers for(i = 0; i < 5;=""> for(j = 0; j < 5;=""> while(1){ // generate random numbers n = rand() % 75; if(num[n] != 0){ arr[i][j] = n + 1; num[n] = 0; break; } } } } // display board printf(" B I N G O\n"); printf("--------------------------\n"); for(i = 0; i < 5;=""> for(j = 0; j < 5;=""> printf("%3d |",arr[i][j]); } printf("\n--------------------------\n"); printf("\n"); } // take input of five numbers printf("Input 5 number combination: "); for(i = 0; i < 5;=""> scanf("%d",&user_num[i]); // make the position 0 for all aviable number // if not found then not a winner for(i = 0; i < 5;=""> flag = 0; n = user_num[i]; for(j = 0; j < 5;=""> for(k = 0; k < 5;=""> if(arr[j][k] == n){ user_num[i] = 0; arr[j][k] = 0; flag = 1; break; } } if(flag == 1) break; } if(flag == 0) break; }
if(flag == 0) printf("Not a winner!"); else{ // check horizontal for(j = 0; j < 5;=""> count = 0; for(k = 0; k < 5;=""> if(arr[j][k] == 0) count++; else break; } if(count == 5){ printf("BINGO winner!"); winner = 1; break; } }
if(winner == 0){ // check vertical for(j = 0; j < 5;=""> count = 0; for(k = 0; k < 5;=""> if(arr[k][j] == 0) count++; else break; } if(count == 5){ printf("BINGO winner!"); winner = 1; break; } } } if(winner == 0){ // check principal diagonal count = 0; for(j = 0; j < 5;=""> if(arr[j][j] == 0) count++; } if(count == 5){ printf("BINGO winner!"); winner = 1; } } if(winner == 0){ // check secondary diagonal count = 0; if(arr[0][4] + arr[1][3] + + arr[2][2] + + arr[3][1] + + arr[4][0] == 0){ printf("BINGO winner!"); winner = 1; } } if(winner == 0) printf("No winner!"); }}
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here