Buonasera. Dovrei scrivere un programma (l'ambiente usato è Eclipse) che data un matrice quadrata stampi la matrice stessa, la diagonale principale, quella secondaria e ne calcoli i rispettivi prodotti. Sono bloccato sul prodotto. Ecco il codice che ho compilato.
Ringrazio tutti per il possibile aiuto. Non capisco proprio cosa ci sia che non funziona!codice:MainWindow finestra = new MainWindow(); InputBox inDati = new InputBox(finestra); OutputBox uDati = new OutputBox(finestra); finestra.setVisible(true); //numero righe = numero colonne int n_righe = inDati.getInteger("Quanti righe e colonne ha la matrice quadrata?"); int n_colonne = n_righe; int dim = n_righe; int prodotto_diagonale_principale = 0; int prodotto_diagonale_secondaria = 0; //dichiarato matrice int [][] m = new int [n_righe][n_colonne]; //riempio la matrice for (int i=0; i<n_righe; i++){ for (int j=0; j<n_colonne; j++) m[i][j]=inDati.getInteger("Inserisci il valore in posizione ["+i+"] ["+j+"]"); } for (int i=0; i<n_righe; i++){ for (int j=0; j<n_colonne; j++) uDati.print(m[i][j]+ " "); uDati.printLine(""); } uDati.setVisible(true); uDati.print("Diagonale principale: "); for (int i = 0; i < n_righe; i++) { for (int j = 0; j < n_righe; j++) { if (i == j) { uDati.print(m[i][j] + " "); } } } uDati.printLine(""); uDati.print("Diagonale secondaria: "); for (int i = 0; i < n_righe; i++) { for (int j = 0; j < n_righe; j++) { if ((i + j) == (dim -1)) { uDati.print(m[i][j] + " "); } } } uDati.printLine(""); uDati.print("Il prodotto dei valori della diagonale principale vale: "); for (int i=0; i<n_righe; i++){ for (int j=0; j<n_righe; j++){ if(i == j){ prodotto_diagonale_principale *= m [n_righe][n_colonne]; uDati.print(prodotto_diagonale_principale + " "); } } } uDati.printLine(""); uDati.print("Il prodotto dei valori della diagonale secondaria vale:"); for (int i=0; i<n_righe; i++){ for (int j=0; j<n_righe; j++){ if ((i + j) == (dim -1)) { prodotto_diagonale_secondaria *= m [n_righe][n_colonne]; uDati.print(prodotto_diagonale_secondaria + " "); } } }