Ti ho detto che devi allocare la memoria dinamicamente, qui c'è un esempiocodice:#include <iostream> using namespace std; void inizializza_matrice(int *mat, int r, int c); void stampa_matrice(int *mat, int r, int c); int main() { int r, c; do { cout << "Inserire il numero di righe e colonne (>=0)" << endl << "Righe: "; cin >> r; cout << "Colonne: "; cin >> c; } while(c < 0 || r < 0); int *mat = new int[r*c]; inizializza_matrice(mat, r, c); cout << endl; stampa_matrice(mat, r, c); delete[] mat; return 0; } void inizializza_matrice(int *mat, int r, int c) { cout << endl << "Inserire gli elementi della matrice" << endl; for(int i = 0; i < r; i++) { for(int j = 0; j < r; j++) { cout << "(" << i+1 << ", " << j+1 << "): "; cin >> mat[i*c+j]; } } } void stampa_matrice(int *mat, int r, int c) { for(int i = 0; i < r; i++) { for(int j = 0; j < r; j++) { cout.width(4); cout << mat[i*c+j]; } cout << endl; } }

Rispondi quotando