In: Computer Science
(C++) Write a program that randomly fills in 0s and 1s into a 5-by-5 matrix,prints the matrix,and finds which row and column with more 1s and display that row and column number.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
    srand(time(NULL));
    int arr[5][5];
    // randomly fills in 0s and 1s into a 5-by-5 matrix
    for (int i = 0; i < 5; ++i) {
        for (int j = 0; j < 5; ++j) {
            arr[i][j] = rand() % 2;
        }
    }
    // prints the matrix
    for (int i = 0; i < 5; ++i) {
        for (int j = 0; j < 5; ++j) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
    // find row with more 1's
    int maxRowIndex = 0, maxOnes = 0;
    for (int i = 0; i < 5; ++i) {
        int count = 0;
        for (int j = 0; j < 5; ++j) {
            if (arr[i][j] == 1)
                ++count;
        }
        if (count > maxOnes) {
            maxOnes = count;
            maxRowIndex = i;
        }
    }
    cout << "row " << maxRowIndex+1 << " is maximum which contains " << maxOnes << " ones" << endl;
    // find column with more 1's
    int maxColumnIndex = 0;
    maxOnes = 0;
    for (int i = 0; i < 5; ++i) {
        int count = 0;
        for (int j = 0; j < 5; ++j) {
            if (arr[j][i] == 1)
                ++count;
        }
        if (count > maxOnes) {
            maxOnes = count;
            maxColumnIndex = i;
        }
    }
    cout << "column " << maxColumnIndex+1 << " is maximum which contains " << maxOnes << " ones" << endl;
    return 0;
}
