1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| # include "stdio.h"
# include "stdlib.h"
# include "time.h"
# include "dos.h"
# include "string.h"
void clean_stdin (void)
{
int c;
do {
c = getchar();
} while (c != '\n' && c != EOF);
} /* clean_stdin*/
int Computec ( int freqc[] )
{
int x, i ;
x= rand ()% 541 ;
i=0 ;
for (i=0 ; x>0; i++)
x-= freqc [i] ;
i-- ;
return (i);
}
int Computev ( int freqv[] )
{
int x, i ;
x= rand ()% 373 ;
i=0 ;
for (i=0 ; x>0; i++)
x-= freqv [i] ;
i-- ;
return (i);
}
int main ()
{
//int Computec ( int []);
//int computev (int []) ;
time_t t1, t2;
char chaine [20 ];
char voyelle [6]= {'e','a','i','o','u','y'} ;
char consomne [21]= "bcdfghjklmnpqrstvwxz";
int freqv [6]={140,70,50,50,60,3};
int freqc [20]= {9,32,36,10,8,7,5,1,54,29,70,30,13,65,79,72,16,1,3,1};
char lettre [9];
int tab[9] ;
int i,j,c ;
srand (time (NULL)) ;
for (i=0 ; i < 9 ; i++)
{
printf (" Tapez C ou V\n\n ") ;
scanf("%c",&c);
clean_stdin();
if ( c=='V' || c== 'v')
{
j= Computev (freqv) ;
printf ("%c\n" ,voyelle [j]) ;
lettre [i]= voyelle[j] ;
}
else if ( c=='C' || c== 'c')
{
j= Computec (freqc) ;
printf ("%c\n" ,consomne [j]) ;
lettre [i]= consomne[j] ;
}
}
printf ("\n\n") ;
for (i=0 ; i < 9 ; i ++)
printf (" %c ", lettre [i]) ;
printf ("\n\n") ;
time(&t1);
//printf ("%d %d", t1.tm_hour, t1.tm_min) ;
printf (" entrez votre chaine\n ") ;
scanf ("%s", chaine ) ;
time(&t2);
if (difftime(t2,t1) >40)
printf (" vous avez dépasser le temps\n ") ;
for (i=0 ; i < 9 ; i++)
tab[i]=1 ;
for (i=0 ;i < strlen (chaine ); i++)
{
for (j=0; j <9; j++)
if ( chaine [i]== lettre [j])
if (tab[j]==1)
{
tab[j]=0 ;
break ;
}
if (j==9)
printf ("lettre %c non trouvée\n ", chaine [i]) ;
}
} |
Partager