In C++ questo è decisamente scorretto
codice:
int matrice[righe][colonne];
Devi utilizzare l'allocazione dinamica.
Puoi scegliere se fare un blocco unico di r*c elementi o allocare prima un array di tipo int * di dimensione r e poi per ogni elemento allocare degli array di int di dimensione c.
Nel primo caso dovresti indicializzare con i*c+j (i -> riga; j -> colonna), nel secondo puoi usare indici normali.
Ricordati di liberare la memoria.