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

    Differenza non corretta

    Salve ragazzi,

    ho questo frammento di codice:

    codice:
    k=0;
    for (j=0; j<nc; j++) {
     if (colonneattive[j]) {
      temp[k]=parseInt(costi[0][j]);
      k++;
     }
    }
    colonneattive è un vettore di boolean, tutti settati a true (all'inizio). Il frammento di codice che ho postato, dunque, mi serve per riempire il vettore temp con al più nc elementi, che pesco da una matrice.

    Adesso do in pasto il vettore temp a questa funzione:

    codice:
    function CalcolaDifferenza(vettore) {
     var temp=new Array();
     temp=vettore.sort();
     return parseInt(temp[1]-temp[0]);
    }
    Come vedete, si occupa di ordinare il vettore e restituire la differenza tra i primi due elementi.
    Il problema è che se io ho 4 elementi in temp:

    1000 8 5 1000

    Dopo il sort ottengo

    1000 1000 5 8

    E dunque la differenza mi viene pari a 0, quando dovrebbe essere 3 (8-5).

    Qualcuno mi sa dire dove pecco ?
    Grazie mille !

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    uei amico, è un pezzo che non ci si sente




    prova questo... l'errore sta nell'ordinatura (se si dice cosi) dell'array, poichè come hai fatto tu, lo ordina in base alla stringa


    fucntion resisti(a,b){return a-b)}
    function CalcolaDifferenza(vettore) {
    var temp=new Array();
    temp=vettore.sort(resisti);
    return parseInt(temp[1]-temp[0]);
    }




  3. #3
    Reale_Augello
    Guest

    Grazie...

    ... carissimo Dennis.
    Ora che ho letto meglio la reference, ho avuto conferma di quello che dici.

    Strano però che un vettore di interi non venga automaticamente ordinato numericamente, anzichè lessicograficamente.

    Ancora grazie !

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    Re: Grazie...

    Originariamente inviato da Reale_Augello
    Strano però che un vettore di interi non venga automaticamente ordinato numericamente, anzichè lessicograficamente.


    esattamente, ci si aspetterebbe di ritrovarli ordinati numericamente...

    sarà il caso di realizzare una libreria sull'array... mi dai una manina anche tu? (cerco di romperti più che posso se non lo hai inteso)






    che dici?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.