premetto che ho gia cercato nel forum, ma dalle discussioni non ci ho capito granchè !
Come da titolo ho scritto il seguente codice per fare un programma di estrazione per la tombola
Il programma parte ma genera solo lo stesso numero e non arriva neanche a 90 numeri !
Come mai?
ps. Ho iniziato il 3° di informatica a settembre e la prof non ha ancora spiegato le matrici, ma ho comunque voluto provare a farlo, visto che è da un paio di natali che ho quest'idea.
Ecco il codice:
codice:#include <iostream> #include <time.h> #include <stdlib.h> using namespace std; int risp; const int r=9; const int c=10; int matrice [r] [c]; void carica (int m[r] [c]); void stampa (int m[r] [c]); bool ricerca (int m[r] [c],int e); int main() { cout<<" +-----------------------------------+"<<endl; cout<<" | Benvenuto nel gioco della Tombola |"<<endl; cout<<" +-----------------------------------+"<<endl; cout<<" v 1.0"<<endl; cout<<endl; cout<<endl; cout<<endl; do { cout<<" Premi 1 per estrarre un numero;"<<endl; cout<<" Premi 2 per visualizzare i numeri;"<<endl; cout<<" Premi 3 per uscire."<<endl; cin>>risp; switch(risp) { case 1: carica (matrice);cout<<endl;break; case 2: stampa (matrice);cout<<endl;break; } } while(risp!=3); cout<<" "; } //Estrazione numero void carica (int m[r] [c]) { int e; for(int i=0;i<r;i++) { for(int j=0;j<c;j++) { srand(time(NULL)); e=rand()%91; if(ricerca(m,e)==false) //ricerca numero uguale { m[r][c]=e; cout<<m[r] [c]<<endl; } } } } //ricerca numero uguale bool ricerca (int m[r] [c],int e) { int i=0; while(m[r] [c]!=e && i!=r) { i++; if(m[r] [c]==e) return true; else return false; } } //stampa matrice void stampa (int m[r] [c]) { for(int i=0;i<r;i++) { for(int j=0;j<c;j++) { cout<<m[r] [c]<<endl; } } }

Rispondi quotando