lotto, kritik?



  • #include <stdlib.h>
    #include <time.h>
    #include <stdio.h>
    
    int main( )
    {
    	unsigned char ziehung[ 6 ], i, n, doppelt;
    
    	puts( "Lotto 6 aus 45\n" );
    
    	srand( ( unsigned int ) time( 0 ) );
    
    	for( i = 0; i < 6; ++i ) {
    
    		do {
    
    			doppelt = 0;		
    			ziehung[ i ] = ( rand( ) % 44 ) + 1;
    
    			for( n = 0; ( n < i ) && ( !doppelt ); ++n ) {
    
    				if( ziehung[ n ] == ziehung[ i ] ) {
    
    					doppelt = 1;
    				}
    			}
    
    		} while( doppelt );
    	}
    
    	for( i = 0; i < 6; ++i ) {
    
    		printf( "%i: %2i\n", i, ziehung[ i ] );
    	}
    }
    

    zerfleischt mich, biiieeetteee 😉

    greetz, Swordfish



  • Naja, nur eine Anmerkung:

    rand() % 45;
    

    erzeugt das nicht Zufallszahlen von 0-44, also bei uns (in Deutschland) gehen die Zahlen von 1-49.

    Und noch eine zweite:
    Packt doch mal bestimmte Teile in Funktionen, dann dürfte das Ganze übersichtlicher werden.

    Gruß
    Don06



  • hab' grad korrigiert in

    ziehung[ i ] = ( rand( ) % 44 ) + 1;
    

    denn bei uns in der Alpenrepublik gibt's 1 ... 45



  • Ich verweise mal auf den Link in meiner Signatur und natürlich auf Marcus Artikel bezüglich der Gleichverteilung deiner Zufallszahlen.


Anmelden zum Antworten