#include <windows.h> #include <stdio.h> #include <stdlib.h>
void MySRand() { static bool seeded = false;
if( !seeded ) { seeded = true; srand( GetTickCount() ); } }
BOOL AlreadyExist(char *szTable, char itemToTest) { unsigned long i; unsigned long tableLength = strlen(szTable); for(i=0; i<tableLength; i++) { if( szTable[i] == itemToTest ) return TRUE; } return FALSE; }
void MixTable(char *szTableToMix, char *szTableMixed) { unsigned long i, rndNumber; unsigned long tableToMixLength = strlen(szTableToMix); unsigned long tableMixedLength = strlen(szTableMixed); char currentChar; for( i=0; i<tableToMixLength; i++ ) { do { MySRand();
rndNumber = ( rand() % tableToMixLength ); currentChar = szTableToMix[rndNumber]; } while( AlreadyExist( szTableMixed, currentChar ) ); szTableMixed[i] = currentChar; } }
int main(int argc, char* argv[]) { char szTableToMix[] = "ABCDEFGHIJ"; char szTableMixed[50]; memset( szTableMixed, 0, sizeof(szTableMixed) ); printf( "Tableau a melanger %s\n\n", szTableToMix ); MixTable( szTableToMix, szTableMixed ); printf( "Tableau melange %s\n\n", szTableMixed );
return 0; }
|