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;
}
}
}