Newsgroup: it.comp.appl.access
Titolo: ancora per la tombola - capire se è fatto ambo terno ecc..

secondo voi come posso esaminando un array di 90 elementi che man mano và a
contenere i numeri estratti
controllare se è stato fatto un ambo, terno, quaterna, cinquina, o tombola
sul tabellone? 

 ha scritto nel messaggio 
news:4556770a$0$7629$4faf...@reader1.news.tin.it...

Ti crei altre due matrici; la prima sarà composta da 6 righe (da 0 a 5) 
rappresenterà le 6 cartelle del cartellone in cui andrai a verificare se hai 
fatto tombola, mentre la seconda matrice sarà composta da 18 righe (da 0 a 
17) che rappresentano appunto le sedici righe del tabellone nelle quali devi 
verificare se è stata fatto ambo, o terno, o quaterna o cinquina.
Le due matrici saranno di tipo numerico e il valore di tutti le loro righe 
ad ogni inizio partita deve essere impostato a zero.
Dopo l'estrazione di ogni numero andrai a sommare 1 nella riga della prima 
matrice relativa a quel numero; per determinare la riga della prima matrice 
da incrementare devi dividere il numero estratto per 15; se il resto della 
divisione (restituito dall'operatore Mod, vedi help) è diverso da zero, 
l'intero del risultato della divisione rappresenta la riga da increnebtare 
di 1, se invece la divisione non ha resto la riga da incrementare risulta 
essere uguale al risultato della divisione meno 1.
Dopo l'estrazione di ogni numero andrai anche a sommare 1 nella riga della 
seconda matrice relativa a quel numero; per determinare la riga della 
seconda matrice da incrementare devi dividere il numero estratto per 5; se 
il resto della divisione (restituito dall'operatore Mod, vedi help) è 
diverso da zero, l'intero del risultato della divisione rappresenta la riga 
da increnebtare di 1, se invece la divisione non ha resto la riga da 
incrementare risulta essere uguale al risultato della divisione meno 1.
Dopo aver incrementato i valori delle due matrici come detto sopra, 
"spazzolerai" la prima matrice  andrai a verificare se il valore di uno 
delle sue righe è uguale a 15, nel qual caso è stata fatta tombola.
Quindi in una variabile numerica ad inizio partita imposterai il valore 1; 
dopo aver effettuato gli incrementi di cui sopra effettuerai lo 
"spazzolameto" anche della seconda matrice dove andrai a verificare se il 
valore di almeno una riga abbia assunto il valore di detta variabile 
numerica nel qual caso significa che è stato fatto ambo, terno, quaterna o 
cinquina a seconda del valore contenuto nella variabile; se la ricerca darà 
esito positivo dichiarerai la vincita ed incrementerai di 1 il valore della 
variabile numerica in modo che alla prossima estrazione verrà ricercata la 
vincita di rango superiore a quella appena effettuata.
Naturalmente è chiaro che se vuoi puoi realizzare una tombola parlante, sia 
per annunciare le estrazioni dei numeri che per comunicare  automaticamente 
le vincite del cartellone.
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------


array di 18 elementi ed array di 6 elementi
  intero del numero estratto diviso 5 - 1  diventa indice per accedere
all'array.
Concateni il numero  (format(num,"00)) a quello che c'e' nell'elemento
osservi la lunghezza del contenuto dell'elemento / 2 -1
(oppore sommi 1 e valuti il risultato)
dall'ambo alla cinquina hai risolto
per la tombola: ad ogni cinquina completata se l'indice dell'array e
pari (si parte da 0) sommi 1 sull'array di sei elementi usando come
indice il modulo 3 dell'indice array di 18 elementi
se e' pari fai la stessa cosa ma sommi 3 all'operazione all'indice ottenuto
Se dopo  la somma il valore e' 3 (o prima della somma e' 2) hai fatto
tombola.
-----
L'altra cosa che potresti fare e' ovviamente esaminare in sequenza il
tuo array di 90 elementi trovando il primo della sequenza e contando i
numeri usciti su ciclo di 5 elementi. Per trovare il primo fai
operazione di modulo 10. Se il risultato e' 0 usi il primo carattere del
numero uscito - 1 e come secondo carattere metti 6
se il risultato e' < 6 usi il primo carattere e secondo 1
se > 5 usi il primo carattere e secondo 6 e conti i numeri usciti
per la tombola il discorso e' diverso ritornerei all'utilizzo dell'array
di 6 elementi calcolando l'indice in base al numero attualmente estratto
al momento del raggiungimento della cinquina.
P.S. Piu' o meno e' la stessa cosa scritta da Roberto dal portatile. 
C'e' solo una "piccola" differenza (mi pare) per il calcolo della 
tombola. Ho l'impressione, ma non sono andato particolarmente a fondo, 
che sulla descrizione di Roberto ci sia una inesattezza
-- 
ac
email: w+1=x

 
Inoltre. Concatenare i numeri ti da l'esatta sequenza delle uscite 
(ovviamente, messa cosi', solo nell'ambito della  cinquina)
questo puo' servire se qualche giocatore richiede la verifica 
dell'uscita. In una "tombola" (bingo pfui!) seria succede
s.e. & o.
-- 
ac
email: w+1=x