Zufallsgenerator in C
-
hey!
Bin neu hier. hoffe bin hier richtig und nicht der 6.000 noob der die gleiche Frage stellt^^
also ich habe folgendes Programm geschrieben:
#include <stdio.h> #include <time.h> #inckude <stdlib.h> int main() { int iZahler; int iWurfe; int iAnzahl; int iAugen; int iZufallszahl; printf("Geben sie die Anzahal der Würfelversuche ein: "); scanf ("%d",iAnzahl); srand(time(0)); iWurfe=1; iZahler=1 while(iAnzahl>iZahler) { iWurfe=iWurfe+1; iZahler=iZahler+1; printf("Würfel durchlauf Nummer %d: \n",iWurfe); iZufallszahl=rand%5+1; iAugen=iZufallszahl; printf("Der Würfel zigt eine: %d",iZufallszahl); } }
er meckert jetzt das srand und rand nicht deklariert wären...
wär spitze wenn mir jemand helfen könnte...
-
ho!
dritte zeile, fünftes zeichen.mfg.
-
zeile 19 semikolon fehlt.
redundanz ohne ende in der while schleife.
der würfel zigt nicht, der zickt höchstens weil er nie eine 6 würfeln wird.
emefge
-
ok danke soweit.
den Tippfehler bei include habe ich einfach übersehen.
printf("Würfel durchlauf Nummer %d: \n",iWurfe); iZufallszahl=rand%5+1; iAugen=iZufallszahl;
was ist da den noch falsch?
-
Firefox64 schrieb:
was ist da den noch falsch?
Naja, Dein Zufall stimmt nicht. Wie heisst es mit RTFM und FAQ? Finger weg von dem Modulo- Mist!
-
unsere Lehrerin verlagt leider den Modolu-Operator^^
-
Firefox64 schrieb:
was ist da den noch falsch?
ist das ein sparwürfel`?
überlege er sich bitte mal den maximalwert von rand%5+1
naahaaa??!
-
hm also der minimale wert wäre doch 0+1 und der maximale wert 5+1 (also 1 und 6)
oder täusch ich mich da?srr bin nen blutiger anfänger...
-
5%5 = Rest der übrigbleibt wenn du 5 durch 5 teilst... das ist eher nicht 5
-
Firefox64 schrieb:
unsere Lehrerin verlagt leider den Modolu-Operator^^
plus Ring- Küssen? Das ist objektiv betrachtet ziemlicher Vollmüll. Machn Printout, warum Du's anders gemacht hast und fertig der Käse.
-
pointercrash() schrieb:
Firefox64 schrieb:
was ist da den noch falsch?
Naja, Dein Zufall stimmt nicht. Wie heisst es mit RTFM und FAQ? Finger weg von dem Modulo- Mist!
Ach was, das ist doch blubberfuk um das modulo Ding.
-
Dazu interessant ist vielleicht auch das:
http://eternallyconfuzzled.com/arts/jsw_art_rand.aspx
-
mich interessiert eher das:
#define N 1000000 #define QUOT(i) 1.0*stat[i]/N int main() { unsigned i = 0, stat[7] = {0}; srand(time(0)); while ( i++ < N ) stat[ rand()%6 + 1 ]++; printf ( "Gewuenschte Wahrscheinlicheit: %f\n", 1.0/6 ); printf ( "%f\n" "%f\n" "%f\n" "%f\n" "%f\n" "%f\n", QUOT(1), QUOT(2), QUOT(3), QUOT(4), QUOT(5), QUOT(6) ); return 0; }
-
danke an alle!
Das Board ist echt super!
habe den Code Jetzt Fertig!!!
/* Autor:Nicolas Fischer Datum:10.11.09 Programm:Würfelsimulator. */ #include <stdio.h> #include <time.h> #include <stdlib.h> int main() { int iZahler; iZahler=0; int iWurfe; iWurfe=0; int iAnzahl; int iAugen; int iZufallszahl; double dRelation1, dRelation2, dRelation3, dRelation4, dRelation5, dRelation6; printf("Geben sie die Anzahal der Würfelversuche ein: "); scanf ("%d",&iAnzahl); srand(time(0)); while(iAnzahl>iZahler) { iWurfe=iWurfe+1; iZahler=iZahler+1; iZufallszahl=rand()%5+1; iAugen=iZufallszahl; switch(iZufallszahl) { case 1: printf("Eins\n"); break; case 2: printf("Zwei\n"); break; case 3: printf("Drei\n"); break; case 4: printf("Vier\n"); break; case 5: printf("Funf\n"); break; case 6: printf("Sechs\n"); } } fflush(stdin); getchar(); }
Funktioniert einbant frei!
-
Firefox64 schrieb:
danke an alle!
Das Board ist echt super!
habe den Code Jetzt Fertig!!!
/* Autor:Nicolas Fischer Datum:10.11.09 Programm:Würfelsimulator. */ #include <stdio.h> #include <time.h> #include <stdlib.h> int main() { int iZahler; iZahler=0; int iWurfe; iWurfe=0; int iAnzahl; int iAugen; int iZufallszahl; double dRelation1, dRelation2, dRelation3, dRelation4, dRelation5, dRelation6; printf("Geben sie die Anzahal der Würfelversuche ein: "); scanf ("%d",&iAnzahl); srand(time(0)); while(iAnzahl>iZahler) { iWurfe=iWurfe+1; iZahler=iZahler+1; iZufallszahl=rand()%5+1; iAugen=iZufallszahl; switch(iZufallszahl) { case 1: printf("Eins\n"); break; case 2: printf("Zwei\n"); break; case 3: printf("Drei\n"); break; case 4: printf("Vier\n"); break; case 5: printf("Funf\n"); break; case 6: printf("Sechs\n"); } } fflush(stdin); getchar(); }
Funktioniert einbant frei!
ich gebs auf
-
Du solltest unbedingt mehr Variablen benutzen!