Задан двумерный массив A[N,N] из единиц и нулей. Нужно найти количество единиц и нулей в массиве(матрице)

#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
int main()
{
    srand(time(0));
    int a;
    cin >> a;
    if (a < 0) cout << endl;
    int b;
    cin >> b;
    if (b < 0) cout << endl;
    int** A = new int*[a];
    for (int i = 0; i < a; i++)
    {
        A[i] = new int[b];
    }
    for (int i = 0; i < a; i++)
    {
        for (int j = 0; j < b; j++)
        {
            A[i][j] = rand() % 2;
        }
    }
    int count_zero;
    int count_one;
    for (int i = 0; i < a; i++)
    {
        for (int j = 0; j < b; j++)
        {
            if (A[i][j] == 0)
            {
                count_zero = count_zero + 1;
            }
            else
                count_one = count_one + 1;
            cout << setw(2) << A[i][j] << " ";

        }
        cout << endl;

    }
    cout << "Zero:" << count_zero << endl;
    cout << "One:" << count_one << endl;
    return 0;
}

Ответы (1 шт):

Автор решения: SelfishCrawler

Перед использованием переменной, следует ее инициализировать:

int count_zero = 0;
int count_one = 0;

иначе получите неопределенные значения. Также обратите внимание на такой синтаксис: count_zero++; Вместо своих count_zero = count_zero + 1;

→ Ссылка