Visualizzazione risultati 1 fino 4 di 4

Discussione: numeri consecutivi di un array

  1. #1
    L'avatar di fantacalciojarno
    fantacalciojarno non è connesso Utente giovane
    Data registrazione
    31-12-2010
    Messaggi
    89

    Predefinito numeri consecutivi di un array

    Ciao,spero possiate aiutarmi,
    Se ho un array:

    Codice PHP:
    $arr=array(1,2,4,5,6,7,9,10,13,14,15,16,17,18);
    Come trovo quali valori sono consecutivi? Ho provato cosi:

    Codice PHP:
    $s = 0;
    for (
    $k = 0; $k <= $s+1; $k++ ) {
    $oggi = $arr[$k];
    $domani = $arr[($k+1)];
    if (
    $domani == ($oggi+1) ) {
    $utili = count($s++);
    echo
    $utili;
    }
    }
    Ovviamente non funziona come dovrebbe..
    Ultima modifica di dreadnaut : 23-02-2013 alle ore 04.11.08 Motivo: + indentazione

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Cosa intendi "quali valori sono consecutivi"? Non si capisce bene quale sia il risultato che ti aspetti e manca un esempio.

  3. #3
    L'avatar di fantacalciojarno
    fantacalciojarno non è connesso Utente giovane
    Data registrazione
    31-12-2010
    Messaggi
    89

    Predefinito

    Ciao, grazie per la risposta,
    di parametri mi sa ne maca piu di uno, vorrei calcolare la serie di risultati consecutivi maggiore, cioè da 13 a 18 e poi 'contare' la serie piu' lunga.. 6 in questo caso (cioè i numeri 13-14-15-16-17-18). Cosi com è mi calcola 4 credo che mi calcoli i primi consecutivi e il ciclo si ferma quando non trovo piu' il primo consecutivo senza controllare gli altri. Non so se mi sono spiegato.. altrimenti chiedi pure.GRAZIE!

  4. #4
    L'avatar di trylab
    trylab non è connesso Neofita
    Data registrazione
    02-09-2012
    Messaggi
    24

    Predefinito

    Codice PHP:
    $rip=1; //numero di seq corrente
    $maxrip=0; //numero max di seq

    for($count=1;$count<count($arr);$count++){
    if((
    $arr[$count]-1) == $arr[$count-1]){
    //ho trovato un numero consecutivo
    $rip++;
    if(
    $maxrip<$rip){
    //aggiorno $maxrip
    $maxrip=$rip;
    }
    }
    else{
    //non è un numero consecutivo -> devo ricominciare
    $rip=1;
    }
    }
    in $maxrip dovresti trovare il numero che cerchi......ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •