Visualizzazione dei risultati da 1 a 9 su 9

Discussione: numeri adiacenti

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194

    numeri adiacenti

    Ciao a tutti,
    ho una selezione di 14 numeri da 1 fino a 14.
    Devo controllare che se ogni numero ha o non ha un numero adiacente.
    Cioè per quanto riguarda l'1 se esiste vicino a lui come variabile anche il 2 e così di conseguenza anche per quanto riguarda il 2 se ha vicino il 3 ecc.

    Il problema nasce anche quando ho per esempio il 5 e devo controllare se esiste vicino a lui sia il 4 che il 6...

    Qualcuno ha idea di come fare?
    O almeno da dove partire?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Spiegami pero' cosa devi fare se si presentano quelle condizioni, perchè se non ho letto male io non lo hai scritto!
    Comunque in linea di massima potresti mettere i 14 numeri dentro un array e poi fai dei confronti tramite ciclo for e verifichi se la differenza tra l'elemento con posizione n e quello di posizione n-1 sia zero lo stesso fai tra l'elemento n-esimo e quello n+1 esimo

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194
    Ciao, ti ringrazio per la risposta.
    Preciso il tutto.

    Ho 14 campi selezionabili che archivio nel database, quindi potrei aver selezionato per esempio i campi 1-3-5-6-7

    Quello che mi interessa avere come risultato è che se un campo selezionato ha o non ha un numero adiacente.

    quindi il risultato dovrebbe essere:

    1 - valore singolo
    3 - valore singolo
    5 - con adiacente 6
    6 - con adiacente 5 e 7
    7 - con adiacente 6

    Alla fine devo avere un risultato che mi identifichi il numero di gruppi di selezioni.
    Sempre in questo esempio che mi dica che ho 2 selezioni singole (l'1 ed il 3) ed un gruppo con 3 selezioni (il 5 il 6 ed il 7).

    Hai idea di come sia fattibile fare una cosa del genere?

  4. #4
    Per fattibile con un pò di ingegno tutto è fattibile.

    I campi hanno sempre un determinato ordine o può variare?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194
    hanno sempre il medesimo ordine da 1 a 14

  6. #6
    Allora puoi fare tre casi:

    Caso 1 -> Valore 1

    Devi controllare solo se è o non è selezionato il valore 2

    Caso 2 -> Valore 14

    Devi controllare solo se è o non è selezionato il valore 13

    Caso 3 -> I restanti valori

    Fai un ciclo in cui consideri se è stato preso il valore $i +1 e $i -1 , ovviamente il mio è un'esempio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194
    ok, ti ringrazio, provo a fare ciclo for e vediamo che esce qualcosa. piuttosto te lo posto.
    Grazie

  8. #8
    Spero ti sia servito.

  9. #9
    Codice PHP:
    $arr = array(1,3,5,6,7);

    $output = array();
    foreach ( 
    $arr as $val ) {
        if ( 
    in_array($val 1$arr) ) {
            
    $output[$val][] = $val 1;
            
    $output[$val 1][] = $val;
        } else {
            if ( !isset(
    $output[$val]) ) {
                
    $output[$val] = '';
            }
        }
    }

    foreach ( 
    $output as $key => $val ) {
        echo 
    "$key - ";
        if ( empty(
    $val) ) {
            echo 
    "valore singolo";
        } else {
            echo 
    "con adiacente ".implode(' e '$val);
        }
        echo 
    "\n";


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.