PDA

View Full Version : Algoritmo "crosscheck" tra array


magonicola
16-02-2008, 13:46
Ciao raga,
posto in questa sezione solo perchè sto sviluppando in js, ma cmq il mio problema è concettuale, quindi va bene anche un algoritmo in linguaggio naturale o pseudocodice :D.
Espongo:
Possiedo un array che contiene dei valori ammissibili per un dato campo:
ammissibili = [val1] [val2] [val3] [val4]
ed una variabile che mi indichi il numero massimo di questi utilizzabili contemporaneamente:
max = 2
Ora, gli array da verificare sono dei seguenti tipi (alla loro destra trovate il risultato della validazione):

1) [val1] -- OK!
2) [val1] [val3] -- OK!
3) [val1] [val2] [val3] -- NO! (ho superato MAX)
4) [val1] [val1] -- NO! (Ho sintassi errata - doppione)
5) [val6] [val5] -- NO! (tutti i valori sono inammissibili)
6) [val5] [val2] -- NO! (ho un valore non ammissibile)


Per facilitarmi un pò il compito, il risultato resta cmq "ok" o "no" senza specificare il tipo di errore.

Sto impazzendo da vari giorni per cercare di fare qualcosa di "pulito" per implementare questa soluzione in js ma ogni volta che credo di aver trovato la strada giusta, uno dei check fallisce (ad esempio ora non mi valida l'ultima situazione).

Potete darmi una mano a capire come procedere?

Grazie...

gugoXX
16-02-2008, 15:16
Potresti implementare una funzione che trasforma il tuo array in hashtable (che questa settimana vanno molto di moda)
Poi otterresti la hashtable corrispondente al tuo array di ammissibili.

E un'altra funzione che, dato un array da controllare, controlla molto semplicemente se ciascuno dei suoi elementi sono contenuti nella hashtable.