Prima
tecnica (meno memoria occupata,
pero' meno velocita')
/*
Generazione della cartella della Tombola
#include <stdio.h>Tecnica efficiente per la memoria, ma non per il tempo di esecuzione */ #include <stdlib.h> #include <time.h> #define TRUE 1 #define FALSE 0 int main () { int cartella[15] = {0}; srand(time(NULL)); for (i=0; i<15 ; i++){ do{ estratto = rand()%90 +1; trovato = FALSE; for(j=0;j<=i;j++) if (cartella[i]==estratto){ trovato = TRUE; break; } } while trovato; cartella[i]=estratto; } for(i=0;i<15;i++){ printf("%4d", cartella[i]); if((i+1)%5==0) printf("\n"); } return EXIT_SUCCESS; }
|
Seconda
tecnica (piu' memoria occupata,
ma piu' velocita')
/*
Generazione della cartella della Tombola
#include <stdio.h>Tecnica efficiente per il tempo di esecuzione, ma che occupa piu' memoria */ #include <stdlib.h> #include <time.h> int main () { int cartella[15] = {0}; int cartellone[90] = {0}; srand(time(NULL)); for (i=0; i<15 ; i++){ do{ estratto = rand()%90; } while cartellone[estratto]; cartella[i]=estratto+1; cartellone[estratto]=1; } for(i=0;i<15;i++){ printf("%4d", cartella[i]); if((i+1)%5==0) printf("\n"); } return EXIT_SUCCESS; }
|