questo è il codice che ho realizzato, funziona fino quando j è diverso da zero, quando lo diventa, se inserisco un valore minore, devo tornare nella posizione precedente e lo confronta appunto con questo, solo che se faccio j-1 da outofbounds.
ho provato anche a mettere la lunghezza delle righe ma nulla!!
Qualcuno per favore può gentilmente aiutarmi??
grazie in anticipo!!
R=numero di righe
C=numero di colonne
m1=matrice
i=contatore delle righe
j=contatore delle colonne
codice:static void inserimento2(int [][] m1, int R, int C){ for(int i=0; i<R; i++){ for(int j=0; j<C; j++){ System.out.println("Inserisci l'elemento [" + (i + 1) +" , "+ (j+1) + "] della matrice-->"); m1[i][j]=scan.nextInt(); if(i==0){ if(j==0){ System.out.print(); } else if(j!=0){ while(m1[i][j]<m1[i][j-1]){ System.out.println("Per favore inserisci un numero maggiore o uguale a " + m1[i][j-1]); m1[i][j]=scan.nextInt(); } } } else if(i!=0){ if(j==0){ while(m1[i][j]<m1[i-1][m1[C].length-1]){ System.out.println("Per favore inserisci un numero maggiore o uguale a " + m1[i][m1[0].length]); m1[i][j]=scan.nextInt(); } } else if(j!=0){ while(m1[i][j]<m1[i][j-1]){ System.out.println("Per favore inserisci un numero maggiore o uguale a " + m1[i][j-1]); m1[i][j]=scan.nextInt(); } } } System.out.println(""); } }

Rispondi quotando