В начало main()
size_t N, M;
std::cin >> N >> M;
int** a = new int [N]; // удалить старый массив и вставить этот
for(int i = 0; i < N; i++)
{
a[i] = new int [M];
}
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
std::cin >> a[i][j];//инициализируем с клавиатуры
}
В самый конец перед оператором ретурн:
for(int i = 0; i < N; i++)
{
delete[] a[i];//удаляем
}
delete[] a;//удаляем
Оперировать так же.