Ну, правильно выдается. Параметры командной строки отсутствуют, а вы обращаетесь к массиву av.
Надо проверять параметр ac на количество передаваемых аргументов командной строки.
Идея такая: составить алгоритм решения на бумажке, затем запрограммировать его.
Проделайте поиск вручную на разных матрицах, как найдете закономерность, можно будет писать алгоритм.
a[row][col]; Это не переопределение массива, а доступ к элементу с индексами row и col.
Для создания динамичесго массива используйте указатели или std::vector.