Создать двумерный динамический массив и найти строку, где больше всего часто встречающихся чисел

по заданию мне нужно создать двумерный динамический массив, в котором нужно будет найти строку, где больше всего встречается одна и та же цифра. После поиска нужной строки он выводит те же значения ,что я задавал еще в начале программы, хотя не должен. Подскажите, пожалуйста, где здесь ошибка и как ее исправить.

Как пример, в массиве

1 2 2 2 1

3 4 3 3 1

2 2 2 2 1

он должен вывести 3

#include <time.h>
using namespace std;
int main()
{
    int numStr=0, max=1, count=0;
    srand(time(0));
    setlocale(0, "RUS");
    int n, m;
    cout << "Введите количество строк: ";
    cin >> n;
    cout << "Введите количество столбцов: ";
    cin >> m;
    int** array = new int*[n];
    for (int i = 0; i < n; i++)
    {
        array[i] = new int[n];
        for (int j = 0; j < m; j++) {
            array[i][j] = rand() % 3;
            cout << array[i][j] << " ";
        }
        cout << endl;
    }
    
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m-1; j++) {
            count = 1;
            for (int k = j + 1; k < m; k++) {
                if (array[j] == array[k])count++;
            }
            if (count > max) {
                max = count;
                numStr = i;
            }
        }
    }
    cout << numStr << endl << count;
}

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