Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da WILEz Visualizza il messaggio
    Salve... avrei una domanda.
    Come da titolo, ho un array di 6 numeri float che variano costantemente.


    Vorrei sapere quale di questi numeri è il più grande, ma sopratutto vorrei sapere come fare a determinare quale è il secondo più grande, quale il terzo ecc... fino all'ultimo.


    Devo usare Array.Sort()?
    Però...c'è un però.
    Io non voglio che la posizione dell'elemento dell'array cambi!
    Cioè, Numero[0] dovrà essere sempre Numero[0], non voglio che il suo id cambi.
    Con Array.Sort(), se per esempio Numero[2] diventa il più grande mi viene posto sull'array con l'id 0 ovvero diventerebbe Numero[0] e questo non posso farlo.
    Questo perché questi numeri sono abbinati ad una stringa (un nome)
    su un altro array di tipo string.
    Nome[0] ha il numero Numero[0], Nome[1] ha il numero Numero[1] ecc... E deve rimanere così.


    Vorrei solo sapere in che posizione è Nome[0], in che posizione è Nome[1] ecc... in base al numero ad esso abbinato dallo stesso id.


    Tipo:


    codice:
        
        if(Numero[0]>Numero[1]&&
                Numero[0]>Numero[2]&&
                Numero[0]>Numero[3]&&
                Numero[0]>Numero[4]&&
                Numero[0]>Numero[5])
                          print(Nome[0]+"E' primo");
    
    
    //Ho determinato il numero più grande.

    Ma come faccio a sapere quale di questi numeri è il secondo in ordine di grandezza, quale il terzo ecc..?


    Questi numeri cambiano costantemente e potrebbe succedere che il numero che un istante prima era il più grande diventi secondo perché superato da un altro...


    Ma come detto, non posso cambiare gli id dell'array, vorrei solo sapere quale in un determinato istante è il primo, il secondo ecc...


    Come si può fare?
    Ciao..
    Ci sono diversi modi per ottenere quello che vuoi.. Potresti fare una copia del tuo array (clone), ordinarlo, trovare il più grande e poi cercare all'interno del array originario quale indice occupa (funzione find)..
    Oppure lavorare un po con LINQ, che non è mai male.. Ad esempio il metodo Max oppure scrivi una query con Where...
    Posta un po' di esempi di codice scritti da te...
    Ultima modifica di renygade; 01-12-2013 a 20:45

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.