Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA]posizionare elementi nell'array in posizione voluta

    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

  2. #2
    nessuno sa spiegarmi come fare??

  3. #3
    Originariamente inviato da frankyster
    nessuno sa spiegarmi come fare??

    Io sinceramente non ho capito molto forse (lo so, farà ridere ) un disegnino mi tornerebbe utile

  4. #4
    cerco di spiegarmi un po meglio:
    riporto la matrice e l'array di stringhe
    matrice:
    ** j1 j2 j3 j4
    j1:-1
    j2: 2 -1
    j3: 3 2 -1
    j4: 4 2 3 -1

    array di stringhe:ho 4 lavori/stringhe
    j1:abcd
    j2:bca
    j3:cabc
    j4:abcd

    1)per prima cosa trovo il massimo valore della prima colonna che è 4 , in corrispondenza di 4 gli indici della matrice sono [j4][j1] ossia [3][0].
    2)adesso scandisco il mio array di stringhe e prendo le stringhe j4 e j1(che corrispondono a quello che ho trovato al punto 1) ) e li voglio mettere in un array(I1) nelle stesse posizioni in cui si trovavano nell'array di stringhe:
    il risultato dovrebbe essere questo:I1=[abcd|""|""|abcd] quindi le stringhe in I1 occupano le stesse posizioni che avevano nell'array di stringhe.
    e poi metto le stringhe rimanenti j2 e j3 dell'array di stringhe in un altro array I2 nella posizione
    1 e 2,quindi avrò I2:[""|bca|cabc|""] quindi le stringhe in I2 occupano le stesse posizioni che avevano nell'array di stringhe.
    credo di essere stato abbastanza chiaro,spero in qualche soluzione,grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.