// Caricamento e stampa di una matrice le cui dimensioni sono // stabilite dall'utente. #include #include using namespace std; // '#define' e' una direttiva utilizzata per definire un identificatore // e una sequenza di caratteri che sostituira' l'identificatore ogni volta // che questo ricorre nel file sorgente. L'identificatore e' chiamato // 'nome della macro'. // Sintassi: #define nome-della-macro sequenza di caratteri // In questo caso il compilatore sostituira' le parole MAX_RIGHE // e MAX_COLONNE con il valore 10. #define MAX_RIGHE 10 #define MAX_COLONNE 10 int main() { // Richiesta delle dimensioni. int num_righe; do { cout << "Numero di righe (max 10): "; cin >> num_righe; } while (num_righe < 1 || num_righe > MAX_RIGHE); int num_colonne; do { cout << "Numero di colonne (max 10): "; cin >> num_colonne; } while (num_colonne < 1 || num_colonne > MAX_COLONNE); int mat[num_righe][num_colonne]; // Caricamento della matrice for (int i = 0; i < num_righe; i++) for (int j = 0; j < num_colonne; j++) { cout << "Inserisci l'elemento (" << i << ", " << j << "): "; cin >> mat[i][j]; } // Stampa // Manipolatore 'setw(n)': legge o scrive valori usando 'n' caratteri. for (int i = 0; i < num_righe; i++) { cout << endl; for (int j = 0; j < num_colonne; j++) cout << setw(7) << mat[i][j]; } cout << endl; system("pause"); return 0; }