Создать двумерный динамический массив и найти строку, где больше всего часто встречающихся чисел
по заданию мне нужно создать двумерный динамический массив, в котором нужно будет найти строку, где больше всего встречается одна и та же цифра. После поиска нужной строки он выводит те же значения ,что я задавал еще в начале программы, хотя не должен. Подскажите, пожалуйста, где здесь ошибка и как ее исправить.
Как пример, в массиве
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;
}