#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 ! + Multi-Zitat Zitieren
#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; + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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) + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren