[C/C++] Wiederholungsschleife, Zufallszahlen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Kirill, 5. November 2008 .

Schlagworte:
  1. 5. November 2008
    Wiederholungsschleife, Zufallszahlen?

    Hallo Leute,
    habe eine kleine Frage zu diesem Code hier unten:
    Code:
    int main ()
    {
    int zufall;
    int zufall2;
    int zufall3;
    int gesammt;
    int antwort;
    
    do {
    
     int zufall = rand ();
     zufall = rand()%10+1;
    
    Muss ich eigentlich die Variablen vor do definieren, also die Zufallsvariablen?
    Oder wurde die Variable int zufall = rand (); hier schon definiert?

    Sagen wir mal das Programm geht alles durch und es kommt die Frage: Wollen Sie nochmal?
    Und es wird auf Ja gedrückt und es fängt von vorne an, muss ich vor int zufall = rand (); -> int zufall = 0; setzen?



    Danke im Voraus!
     
  2. 5. November 2008
    AW: Wiederholungsschleife, Zufallszahlen?

    Das int in der do-while schleife vor int kannst du auch weglassen, da du es ja oben schon deklariert hast. bei deklarationen musst du nicht direkt einen wert zuordnen, dies kann auch so wie du es gemacht hast im programmverlauf passieren
     
  3. 5. November 2008
    AW: Wiederholungsschleife, Zufallszahlen?

    Danke für deine super schneller Antwort!

    Also sollte es quasi so aussehen:

    Code:
    int main ()
    {
    int zufall;
    int zufall2;
    int zufall3;
    int gesammt;
    int antwort;
    
    do {
    
     zufall = rand (); -> [COLOR="Red"]Kann ich das auslassen, da es unten wieder vorkommt?[/COLOR]
     zufall = rand()%10+1;
    
    Wird jetzt bei jedem Durchgang eine neue Zahl generiert oder muss ich davor das machen:

    Code:
    int main ()
    {
    int zufall;
    int zufall2;
    int zufall3;
    int gesammt;
    int antwort;
    
    do {
     zufall = 0;
     zufall = rand ();
     zufall = rand()%10+1;
    

    Edit ist das hier jetzt richtig:


    Code:
    int main ()
    {
    int zufall;
    int zufall2;
    int zufall3;
    int gesammt;
    int antwort;
    
    do {
    
     srand( (unsigned)time( NULL ) );
     zufall = rand()%10+1;
    
     
  4. 5. November 2008
    AW: Wiederholungsschleife, Zufallszahlen?

    Code:
     zufall = 0;
     zufall = rand ();
     zufall = rand()%10+1;
    Code:
     zufall = rand()%10+1;
    kurz zu deiner frage: ich glaub du überschreibst die zahl sowieso immer. also ich glaube du brauchst das 0 setzen nicht. desweiteren... du schreibst 1 zufallszahl in "zufall" und danach noch eine mit begrenzten raum? is schon etwas her mit proggen. aber ich glaube das is falsch oder muss man das so machen? bin mir da nich mehr so sicher. nimm wenigstens eine andere variable oder so, falls es falsch ist

    Code:
     zufall = 0;
     zufall = rand ();
     zufall1 = rand()%10+1;
    und wenn mich nich alles täuscht, kannst du auch in der schleife variablen deklarieren.

    Code:
    int main ()
    {
    int zufall2;
    int zufall3;
    int gesammt;
    int antwort;
    
    do {
    
     int zufall = rand ();
     zufall = rand()%10+1;
    nur wirds dann ziemlich schnell unübersichtlich und is nich zu empfehlen.

    Mfg Schmidt!

    Edit:

    int main ()
    {
    int zufall;
    int zufall2;
    int zufall3;
    int gesammt;
    int antwort;

    do {

    srand( (unsigned)time( NULL ) );
    zufall = rand()%10+1;

    das sieht doch schonma gut aus
     
  5. 5. November 2008
    AW: Wiederholungsschleife, Zufallszahlen?

     
  6. 6. November 2008
    AW: Wiederholungsschleife, Zufallszahlen?

    Ähm.... nimm das srand89 aus der Schleife raus... das macht überhaupt keinen Sinn...
    Es reicht völlig, srand einmal am Anfang aufzurufen!

    Und wenn ichs mir recht überlege, könnte es in der Schleife sogar das Ergebnis verschlechtern. Wenn ich mich recht entsinne ist die Zeitabgabe in mit time() sekundengenau - d.h. alle Schleifendurchläufe, die in der gleichen Sekunde stattfinden, erzeugen den gleichen Wert. (Du fängst ja dank srand() immer wieder von vorne an)

    Ich hoffe mal, du machst in der Schleife noch mehr. als man in dem Codeschnipsel sieht, denn sonst macht das auch nich viel Sinn, zufall immer wieder zu überschreiben^^
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.