ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
895
895
EMPFEHLEN
-
Hallo alle zusammen!
Ich hätte schon wieder eine Frage. Und zwar geht's um Zufallszahlen.
Ich weiß zwar, dass ich mit "Random" Zufallszahlen machen kann - aber wie kann ich zB 10-er Sprünge oder ähnliches machen?
Beispiel:
Ich will, dass es mir aus den Zahlen 2-9; 10,20,30....90; (mit 10-er Sprüngen) und 200, 300,...900 (100er Sprünge) eine Zahl auswählt - jetzt wäre eure Hilfe gefrage - bitte
Vielen Dank
mfg
fume
-
27.12.05 19:06 #2
Hi.
Das könntest z.B. so machen:
Code :1 2 3 4 5 6 7
static string[] Zahlen = { "10", "20", "30", "40" };
Dann schreibst ne Methode:
Code :1 2 3 4 5
private void ZieheZahl() { Random generator = new Random(); Console.WriteLine(Zahlen[generator.Next(0, 4)]); }
Hoffe dir geholfen zu haben!
MfG Alexander12
-
28.12.05 09:12 #3
- Registriert seit
- Apr 2004
- Beiträge
- 183
Man könnte auch eine Zufallszahl von 1 bis 9 ermitteln, und diese mit 10, 100 oder mit pi multiplizieren...
Pendergast? Relic, Reliquary, Cabinet of Curiosities, Still Life with Crows, Brimstone, Dance of Death
Now in bookstores: The Book of the Dead
-
28.12.05 09:14 #4
Hi.
Ich find die methode oben einfacher. Da musst nichts rechnen etc. Da schreibst die Zahlen 10-100 oder was auch immer rein und der Zufallsgenerator wählt was aus.
MfG Alexander12
-
28.12.05 12:44 #5
- Registriert seit
- Oct 2004
- Beiträge
- 483
Aber die Multi Methode ist einfacher, und vorallem DYNAMISCH, deine ist das nicht Alex... Und du wolltest doch sauber programmieren, nicht wahr ?

Und was machst du eigendlich wenn er die Zahlen bis in dem 200 Mio Bereich in 10er Schritten braucht ?
Gruß
MFC OpenGLSprache : C/C++/C# & MFC
Compiler : MSVC++ 7 / VS2003.net
OS : Windows XP/2k
-
29.12.05 09:40 #6
Hi.
Naja, das mit dem Rechnen sähe dann so aus:
Code :1 2 3 4 5 6 7
private int Ziehezahl(int Multiplikator) { Random generator = new Random(); int Zahl = generator.Next(1, 9); Zahl = Zahl * Multiplikator; return Zahl; }
So, die rufst dann wie folgt z.B. in nem EventHandler auf:
Code :1
int GezogeneZahl = Ziehezahl(10);
MfG Alexander12
-
29.12.05 11:04 #7
- Registriert seit
- Oct 2004
- Beiträge
- 483
Genau das ist das Problem, es ist vollkommen unerheblich in welchem Zahlenbereich er die Zahlen braucht ! Ich glaube Norbert war es, der dir mal sagte (und alle anderen hier versuchen dir das auch immer wieder einzubläuen), dass du den Code immer so schreiben sollst, das er WIEDERVERWENDBAR ist. Investiere lieber 10 min mehr in den Code, und mache ihn Dynamisch, als das du den Ruck Zuck hinballerst, aber später einfach nichts mehr davon hast. Was machst du z.B. wenn der Chef kommt, und sagt ok, haste gut gemacht, dein Programm läuft soweit super. Ich brauche das Programm in 1 Stunde für 200 Mio. Zahlen.
Zitat von Alexander12
Was dann ? Sagst du ihm das du keinen Bock hattest, das anständig zu machen ?
Oder anderes Beispiel. Du willst einen Misch Algo schreiben, für ein Kartenspiel. Machst du den dann auch so, das der immer nur 32 Karten mischen kann ? Wohl kaum oder ? Du wirst doch wohl so schlau sein, und den für X Karten schreiben, denn es kann ja auch mal nen Rommé Blatt gemischt werden müssen, was dann ? Schreibst doch dann nicht nochmal die Komplette Routine neu.
Also merke dir das jetzt endlich mal. Dynamische Routinen ersparen dir ZEIT, nicht direkt, sondern später wenn du ein Problem mehrmals hast !
Gruß
MFC OpenGL
PS : Sorry Admins das es nicht ganz zum Thema passt, aber fand das doch wichtig mal zu sagen.Sprache : C/C++/C# & MFC
Compiler : MSVC++ 7 / VS2003.net
OS : Windows XP/2k
-
hallo alexander,
das mit dem muliplizieren funktioniert wunderbar - DANKE
Kannst du mir noch sagen, wie ich ich die 100-er zahlen und 10-er Zahlen gleichzeitig verwenden kann?! - denn bis jetzt kann ich mit dem Mulitplikater entweder 10 - 90 verwenden oder 1-9 - aber nicht gleichzeitig
Danke für dein Bemühen
mfg
fume
-
29.12.05 21:10 #9
Hi FuME.
Ich habe das Mal so gemacht, mir ist grad nichts anderes eingefallen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public int ZieheZahl(int Multiplikator, int Multiplikator2) { int GezogeneZahl; Random Generator = new Random(); int Zahl = Generator.Next(0,2); GezogeneZahl = Generator.Next(1,9); if(Zahl == 0) { GezogeneZahl = GezogeneZahl * Multiplikator; } else { GezogeneZahl = GezogeneZahl * Multiplikator2; } return GezogeneZahl; }
Und aufrufen dann so z.B.:
Code :1
this.myTextBox.Text = ZieheZahl(10,100).ToString();
Habe versucht, das möglichst dynamisch zu machen. Wenn mir noch was besseres einfällt werd Ichs posten.
Habe das auch Mal als Beispielprojekt angehängt, habe auf die Benennung der Controls halt grad keinen Wert gelegt.
MfG Alexander12
PS. Allen nen guten Rutsch!
-
30.12.05 00:03 #10
- Registriert seit
- Oct 2004
- Beiträge
- 483
Ich glaub echt mit TRITT EIN PFERD
Wozu braucht deine Funktion 2 Parameter ? Man, DYNAMISCH Was nun wenn er jeden Abstand von 1-1Mio haben will ? Hat die Funktion dann 1 Mio Parameter
Man... das macht man so :
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
public int ZieheZahl(int Multiplikator) { int GezogeneZahl; Random Generator = new Random(); int Zahl = Generator.Next(0,2); GezogeneZahl = Generator.Next(1,9); GezogeneZahl = GezogeneZahl * Multiplikator; return GezogeneZahl; } //Beispiel public int Kombi() { return ZieheZahl(10)+ZieheZahl(100); } //je nachdem was man braucht... und wenn du ne Kombination aus beidem brauchst, schreibste ne neue Funktion die dann die beiden Ergebnisse verbindet this.myTextBox.Text = ZieheZahl(10).ToString(); this.myTextBox.Text = ZieheZahl(100).ToString(); //oder this.myTextBox.Text = Kombi().ToString();
Ist das soooo schwer zu verstehen, alex ?
Das sind GRUNDLAGEN Kauf dir endlich nen Buch über OOP, und lern mal struktoriertes Programmieren.
Langsam wirds echt rund hier...
Gruß
MFC OpenGLGeändert von MFC openGL (30.12.05 um 00:06 Uhr)
Sprache : C/C++/C# & MFC
Compiler : MSVC++ 7 / VS2003.net
OS : Windows XP/2k
-
Also mich hat's bei Alex Code auch fast aus dem Sessel geschmissen

Ich verfolge Alex' Entwicklungsgeschichte ja schon längere Zeit hier, aber da hilft kein Buch über OOP und auch nichts zum Thema strukturierte Programmierung.
Woran es hier fehlt ist das Verstehen des Problems. Du kannst hundert Bücher über OOA, OOD und OOP lesen, wenn Du kein Gefühl hierfür dafür hast, wirst Du nie guten Code schreiben.
Sorry Alex, aber versuch, über die Probleme nachzudenken, bevor Du drauf los codest. Ich verstehe, dass Menschen impulsiv sind und am liebsten gleich wie die rote Armee mit der Tür ins Haus krachen. Mir gehts als Entwickler ja auch manchmal nicht anders, mich packt auch oft der Enthusiasmus und das ist auch gut so. Software Entwicklung ist ein kreativer Prozess und der braucht schließlich Motivation.
Wenn Du mit einem SW-Problem konfrontiert wirst, lehn Dich aber zuerst mal zurück und denk darüber nach, die erste Idee ist meist nicht die beste Als Übung kannst Du Dir (anfangs) die Regel aufstellen, für ein Problem midestens drei Lösungen zu überlegen.
Aber nicht immer alle drei posten
-
Ich muss chironex hier eindeutig recht geben.
Aus Büchern etc. kann man sich den technischen Hintergrund aneignen. Der hilft einem aber nur bedingt.
Die andere Seite ist die logische Herangehensweise an ein Problem. Welcher Lösungsansatz wird herangezogen? Erst wenn ein logisch korrekter Lösungsansatz vorhanden ist (oder besser mehrere) kommt das technische Wissen zum Tragen. Nämlich wenn sich die Frage "Kann ich das mit den technischen Hilfsmitteln überhaupt so umsetzen?" stellt.
Daher das beste Rezept einer jeden Großmutter:
Zuerst nachdenken, dann ....
Des weiteren:
Die Herangehensweise an ein Problem kann nicht (meiner Meinung nach) erlernt werden. Ein Grundgespür für logische Abläufe etc. muss vorhanden sein. Dies wird dann durch die Erfahrung, die man im Laufe der Jahre sammelt, verbessert. Nur eben dieses Grundgespür kann nicht erlernt werden. Entweder es ist da oder nicht. Genau hier unterscheiden sich dann schlechte bis gute Programmierer von genialen Programmierern, wobei es hier auch wieder insofern "gefährlich" wird, als dass sich die wirklich genialen Programmierer oft von der Realität verabschieden. Sie schaffen zwar Wahnsinns-Programme, halten aber oft keiner Usability-Prüfung etc. stand.
Aber wie dem auch sei: Ich hoffe, dass das was ich sagen wollte angekommen ist
Ähnliche Themen
-
Zufallszahlen
Von WorldRacer im Forum C/C++Antworten: 2Letzter Beitrag: 13.06.08, 23:19 -
zufallszahlen
Von kurcob im Forum Flash PlattformAntworten: 2Letzter Beitrag: 25.05.08, 11:07 -
Zufallszahlen
Von Gen-Chan im Forum PHPAntworten: 1Letzter Beitrag: 16.04.05, 21:57 -
zufallszahlen
Von mihawk im Forum PHPAntworten: 3Letzter Beitrag: 17.05.04, 17:56 -
zufallszahlen von 1-6
Von computers im Forum Visual Basic 6.0Antworten: 7Letzter Beitrag: 20.01.04, 09:33





Zitieren
Login





