100 Zufallszahlen



  • hallo leute, habe ein problem...ich muss ein programm schreiben was 100 zufallszahlen erstellt und dann davon den mittelwert berechnet, sieht bis jetz wie folgt aus

    #include "stdafx.h"
    #include "time.h"
    #include <stdio.h>
    
    void srand(unsigned int seed) 
    {
    	int a=5;
    	int c=22;
    	int m=7;
    
    	seed = (a * seed + c) % m;
    };
    
    int rand(void) 
    {
    	unsigned int zufall[100];				
    	int i;									
    
     for(i=0;i<=100;i++)						
     {
    	zufall[i]=srand;					    
    
    	printf("%i\n",zufall[i]);				
     }
    
    return zufall[100];							
    }
    
    int main()									
    {
    rand;
    	return 0;
    }
    

    so, das programm soll bei jeder erzeugten zufallszahl diese auch ausgeben, was bis jetz nicht funktioniert, das mit dem mittelwert hab ich erstmal rausgelassen, will erstmal das der teil läuft 😉

    dazu muss ich sagen wir sollen die funktion die die zufallszahlen berechnet selbstschreiben, hoffe ihr könnt mir helfen



  • Erstmal sind rand() und srand() vorgefertigte Funktionen der C Bibliothek - die mußt du nicht selber schreiben. (ein "#include<stdlib.h>" reicht)

    Zweitens kannst du deinen Versuch, die zu implementieren, sowieso in die Tonne treten.

    Und drittens: Im Hauptprogramm kannst du eine Schleife aufbauen, die nacheinander 100 Zufallszahlen holt, aufsummiert und am Ende die Summe durch 100 dividiert (achte aber auf Bereichsüberschreitungen).



  • int main(void)
    {
    
     unsigned int zufall[100];               
     unsigned int erg=0;                                   
    
     for(int i=0 ; i<=100 ; i++)                       
     {
        zufall[i]=random();                                                           
        printf("%i\n",zufall[i]);
        erg=erg+zufall[i];               
     }
    
     printf("%i",(erg/100));                          
    }
    

    So in der Art hätte ich das jetzt gemacht.



  • bzw. die for-schleife von 1-100. Sonst hätten wir dort in der Tat 101 Werte.



  • Wobei random() glaub ich nur im Borland vorhanden ist ... also musste für random() srand oder rand nehmen. Außerdem hätte man random mit randomize initialisieren müssen und am Ende des Codes fehlt bei mir noch ein return 0.

    Ich bin so mit Fehlern behaftet ... oh mein Gott.



  • blablablabla² schrieb:

    bzw. die for-schleife von 1-100. Sonst hätten wir dort in der Tat 101 Werte.

    Eher von 0-99.

    blablablabla² schrieb:

    ... also musste für random() srand oder rand nehmen.

    Erklär mir und dem OP doch bitte mal den Unterschied zwischen rand() und srand() 😉


Anmelden zum Antworten