ciao,vi espongo il mio problema:
In input ho una matrice triangolare,un array di stringhe e una matrice di interi.
matrice triangolare:
** j1 j2 j3 j4
j1:-1
j2: 2 -1
j3: 3 2 -1
j4: 4 2 3 -1
ho 4 lavori/stringhe:
j1:abcd
j2:bca
j3:cabc
j4:abcd
questo è il mio codice:
codice:public class Massimo { public boolean max(int [][] matrice,String [] job,int [][]tempoProc){ boolean I1maggiore; int righa,colonna; int i,j; String[]I1 =new String[job.length]; String[]I2 =new String[job.length]; int max = -1; //scandisco le colonne e per ogni colonna //di quante righe è costituita la colonna j //trovo il massimo della colonna j for(j=0; j<matrice[0].length;j++){ for(i=0; j<matrice.length;j++){ if(matrice[i][j]>max){ max=matrice[i][j]; } colonna=j; righa=i; } //in corrispondenza del massimo trovato=indici corrispondenti //della matrice[i][j] e inserisco le stringhe dell'array job //che corrispondono a quelli della matrice[i][j]nell'array I1, //gli altri nell'array I2 for(i=0;i<job.length;i++){ if((i==righa)||(i==colonna)){ I1[i]+=i; }else I2[i]+=i; } } } return I1maggiore; }
Quello che non riesco a fare è questo:vorrei inserire nei due array I1 e I2 i valori(cioè le stringhe)nella posizione [i] uguale a quella della righa[i] della matrice che corrisponde al massimo trovato,
faccio un esempio per spiegare meglio:
nel mio caso il massimo della prima colonna è 4 che corrisponde a [j4][j1],quindi inserisco le due stringhe j4 e j1 dell'array job in I1 e le altre stringhe in I2,questo è quello che ho fatto io,ma invece vorrei inserire le due stringhe j4 e j1 ,che sono in posizione 3 e 0 nell'array di stringhe iniziale, nelle stesse posizioni anche nell'array I1 qundi in posizione 3 e 0.
la stessa cosa vale per I2.
Spero di essermi spiegato !!qualcuno sa come posso fare?? :master: grazie

Rispondi quotando