Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di gigi87
    Registrato dal
    Sep 2012
    Messaggi
    13

    Trovare il massimo valore per ciascun giorno e colonna

    ciao a tutti...avrei bisogno di un consiglio! Ho delle quadruple formate da:
    coordinata X che va da 0 a 99
    coordinata Y che va da 0 a 99
    giorno dell'anno che va da 0 a 364
    Valore misurato [in virgola mobile]
    i valori vengono messi in un file di testo e dove il programma trova 0 nel VALORE MISURATO mette 3,5.

    detto ciò dovrei trovare il massimo valore misurato per ciascun giorno e ciascuna colonna (sempre assumento 3,5 per ogni valore misurato mancante).

    Ho provato a fare come sugue ma senza successo!! se qualcuno mi aiutasse ne sarei grato!!

    public void trovaMax(){

    double max = Double.MIN_VALUE;
    int giorno = 0;
    int colonna = 0;
    double[][] valore = new double[365][100];

    for(int k = 0;k<365;k++) {
    for(int j=0; j<100; j++){
    for(int i= 0; i<100;i++) {
    valore[k][j]=misure[i][j][k];
    }
    if(valore[k][j] > 0){
    max = valore[k][j];
    giorno = k;
    colonna = j;

    System.out.println("Il giorno " + giorno + "e la colonna " + colonna + " ha il valore massimo pari a " + max );

    }
    }


    }

  2. #2
    Utente di HTML.it L'avatar di gigi87
    Registrato dal
    Sep 2012
    Messaggi
    13
    rispondete ragazzi :-)

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    com'è strutturato il file di testo?
    codice:
    X    |    Y    |    D    |    V
    dove D sta per giorno e V per valore?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it L'avatar di gigi87
    Registrato dal
    Sep 2012
    Messaggi
    13
    Ciao!!

    il file di testo è composto in questo modo:

    0 [x]
    0 [y]
    1 [giorno]
    3.4 [valore misurato]
    0
    4
    34
    4.8
    5
    6
    361
    3


    ogni quadrupla si ripete con X,Y,GIORNO e VALORE MISURATO .
    il file di testo l'ho creato molto piccolo; in altrenativa se ne potrebbe creare uno con 100 x 100 x 365 valori ma diventerebbe un pò lungo da fare

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ok, allora secondo me ti conviene creare una mappa chiave-valore/i

    la chiave potrebbe essere il giorno, il/i valori una classe che contenga i campi X, Y e valore misurato. Ovviamente, assumendo che per ciascun giorni ci possano essere più valori misurati, conviene che la parte "valore" della mappa sia anch'essa una struttura (tipo lista ordinata), lista che eventualmente conterrà un unico valore.
    codice:
    chiave (giorno)     |          valore (/lista)
      [1]               |           [0, 0, 3.4]
      [34]              |           [0, 4, 4.8]
      [361]             |           [5, 6, 3]
    Nel caso in cui ci fossero più valori per un dato giorno
    codice:
    chiave (giorno)     |          valore (/lista)
      [1]               |           [0, 0, 3.4]
      [34]              |           [[0, 4, 4.8], [1, 25, 5.2]]
      [361]             |           [5, 6, 3]
    Darei un'occhiata al framework "Collections":

    c'è un articolo anche qui su html.it
    http://www.html.it/articoli/java-col...s-framework-1/

    ed ovviamente la guida ufficiale
    http://docs.oracle.com/javase/tutorial/collections/
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it L'avatar di gigi87
    Registrato dal
    Sep 2012
    Messaggi
    13
    Sono riuscito a risolvere (in parte) il problema! Ma non capisco come mai non riesco ad aggiornare in maniera corretta il valore massimo per ogni giorno e colonna...
    qualcuno mi dice dove sbaglio?

    codice:
    public void trovaMax(){
    	
    		double max = Double.MIN_VALUE;
    	
    		double[][] valore = new double[365][100];
                   
                    for(int k = 0;k<365;k++) {
                                      for(int j=0; j<100; j++){
                                              for(int i= 0; i<100;i++) {
                                              //valore[k][j]=misure[i][j][k];
                                             
                                              }
                                              for(int i= 0; i<100;i++) {
                                         if( misure[i][j][k] > max )  
                                                       max = misure[i][j][k];
                                                       
                                                       
      
       
                        
                                         }
                                       System.out.println("Il giorno  " + k + "e la colonna " + j + " ha il valore massimo pari a " + max );  
                               
                               }    
                                     
                      
                                                 
                    }
    
                                                        
        }

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @gigi87
    Quando posti del codice, usa gli appositi tag CODE, come previsto dal Regolamento interno.

    Come si usa:

    [code]
    si incolla il codice
    [/code]

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it L'avatar di gigi87
    Registrato dal
    Sep 2012
    Messaggi
    13
    Sorry
    Hai qualche idea di come risolvere il problema dell'esercizio?

  9. #9
    Utente di HTML.it L'avatar di gigi87
    Registrato dal
    Sep 2012
    Messaggi
    13
    Ma dai...nessuno che mi risponde... dove siete finiti tutti quanti?????

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da gigi87
    Ma dai...nessuno che mi risponde... dove siete finiti tutti quanti?????
    Porta pazienza... è un forum non un servizio di consulenza gratuita. La gente risponde quando e se ha tempo.

    Ad ogni modo, mi pare di capire che del suggerimento che ti ha dato Andrea tu non abbia affatto tenuto conto. Se la gente i suggerimenti te li dà e tu li ignori, poi è facile che la gente si stufi di risponderti. Andrea ti stava indirizzando sull'uso delle mappe (coppie chiave/valore)... prendi spunto dalla classe HashMap: è una mappa dove hai una chiave (che sarà il giorno dell'anno) ed un valore associato (che sarà il valore o la lista di valori, quindi ad esempio un ArrayList).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.