Mozete li mi reci u cemu je problem izbacuje mi error za ovu liniju koda int matrica[M][N]
Statičko polje mora imati konstantu (konkretnu brojčanu vrijednost) kao veličinu a ne varijablu. To što ti želiš se rješava dinamičkom alokacijom. Npr.:
int **matrica;
matrica = new int*[M]; //polje pokazivača
for(int i=0; i< M; i++)
matrica[i] = new int[N];
tek sada možeš to koristiti u obliku matrica[i][j]. S time da ovo na kraju trebaš i dealocirati:
for(int i=0; i< M; ++i)
delete[] matrica[i]; //dealociraj svaki pojedini redak matrice
delete[] matrica; // dealociraj polje pokazivača na retke