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

    se ho un file come faccio a trovare l elemento minimo senza metterli in array?

    io mi leggo il file cosi:
    File f=new File(nomeFIle);
    Scanner s=new Scanner(s);
    automobile a=automobile.read(s);
    while(a!=null)
    {
    a=automobile.read(s);
    }
    cosi mi scorre tutto il file...ora se voglio trovare il minimo come faccio a dire 'se l elemento letto ora è minore di quello letto nel passo precedente?'per esempio in base al costo di acquisto...quindi a.getCosto();

  2. #2
    Esattamente come faresti con un array: tieni salvato in una variabile ("min") l'elemento "minimo" finora trovato, e confronta con questo ogni elemento che leggi; se il nuovo elemento è minore, memorizzalo in "min" scartando quello vecchio. Alla fine in min avrai l'elemento minimo.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    si questo sono riuscito a farlo...pero una volta trovato il primo minimo lo devo stampare e poi trovare gli ''altri minimo''escludendo quello appena trovato...questo non riesco a farlo...

  4. #4
    Puoi fare così: ogni volta che leggi una nuova auto da file incrementa un indice, in modo da assegnare ad ogni auto nel file un valore dell'indice. Quando trovi l'elemento minimo segnati il suo indice in un set, in modo da ricordarti che quell'elemento è già stato considerato; al prossimo giro quindi sai al volo quali elementi non considerare (=quelli il cui indice è già memorizzato nel set).
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5

    boolean

    io farei così, creare un vettore(array) di tipo boolean, e ogni volta che trova il valore minore, rende il suo indice false, e lui il confronto lo deve fare solo se lo vede true.

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.