Zufallszahlen (Ganz einfach ;-) )

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von K"Man, 4. Juni 2006 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 4. Juni 2006
    Hallo Leute ,
    ich habe eine kleine frage mit zufallszahlen.
    und zwar möchte ich 6 Zufallszahlen generieren.
    Sie sollen von -10 bis 10 gehen !
    randomize();
    z1=rand()%10+1%; //{
    z2=rand()%10+1%; //
    z3=rand()%10+1%; // Zufallig generierte Zahlen werden in
    z4=rand()%10+1%; // die Variablen geschrieben
    z5=rand()%10+1%; //
    z6=rand()%10+1%; // }


    Jetz generiert er zahlen von 1 bis 10 .. allerdings soll er das von -10 - 10 machen , aber ohne Null !
    Gibt es irgenwie einen ganz einfachen weg ??


    HILLLLFFEEEE !!


    ;-)

    GREETZ K"MAN
     

  2. Anzeige
  3. #2 4. Juni 2006
    HAste mal drann gedacht , dir zahlen von 1 - 20 generieren zu lassen und dann das ergebniss minus 10 zu nehmen!

    Dann spuckt er dir zahlen won -10 bis 10 aus , aber auch mit 0 !

    Den rest musse dann mit ner abfrage lösen !

    Da ich kein c++ kann kann ich dir leider auch nicht helfen !


    Knusperkeks
     
  4. #3 4. Juni 2006
    du könntest aber auch ne Umständlichere Methode nehmen, indem du dir nach jeder Zahl nochmal eine Zahl generieren lässt (entweder 0 oder 1) und nach dieser Zahl dein vorzeichen setzt.

    Gruß

    Hamml
     
  5. #4 4. Juni 2006
    Hmmm

    Naja irgentwie hilft mir das alles nicht !
    , aber ich versuche es weiter !

    Weiß jemand vielleicht ne lösung ??
    Irgenteine ?
    Wäre nett wenn es dann auch ein quellcode ist , oder halt ein ausschnitt davon , so das ich das direkt umsetzen kann !
    10´ner bekommt ihr !
     
  6. #5 4. Juni 2006
    randomize();
    z1=rand()%20+1%;
    z2=rand()%20+1%;
    z3=rand()%20+1%;
    z4=rand()%20+1%;
    z5=rand()%20+1%;
    z6=rand()%20+1%;
    z1-=10;
    z2-=10;
    z3-=10;
    z4-=10;
    z5-=10;
    z6-=10;
     
  7. #6 4. Juni 2006
    du könntest ein Array benutzen um mithilfe eine for schleife dieser Variablen einen Wert zu weisen
    per If Abfrage könntest du dann die 0 Auschließen
     
  8. #7 4. Juni 2006
    Code:
     int z[7]; // integer array
     int z1, z2, z3, z4, z5, z6;
    
    // randomize(); /* bei mir wurden ohne randomize bessere ergebnisse erzielt */
    
     for (int i=1;i<=6;i++) {
     if (i%2) z[i]=rand()%10+1;
     else z[i]=-(rand())%10-1;
     }
     
     // wenn du direkt den array benutzt, ist es sogar noch einfacher und "sauberer"
     z1=z[1];
     z2=z[2];
     z3=z[3];
     z4=z[4];
     z5=z[5];
     z6=z[6];
    hier ist jede zweite zahl negativ (z2, z4, z6) wenn uach noch zufällig sein soll, wieviele negativ sind ersetze if (i%2) durch if (rand()%2)
     
  9. #8 5. Juni 2006
    um den speicherüberlauf zu vermeiden musst du den code wie folgt ändern

    for (int i=1;i<=6;i++) {
    if (i%2) z[i-1]=rand()%10+1;
    else z[i-1]=-(rand())%10-1;
    }

    oder dein array 7 felder groß machn
     

  10. Videos zum Thema
Die Seite wird geladen...