Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - 50 zufällige zahlen
meraya - Mi 20.05.09 00:11
Titel: 50 zufällige zahlen
hallo,
ich schreibe morgen eine informatik klasur und behandeln das thema delphi, ich weiß das wir eine aufgabe bekommen, in der wir per zufall 50 zahlen erzeugen sollen und nach einem weiteren klick auf den button sollen sich diese addieren, da ich aber leider 2 mal gefehlt habe im unterricht hab ich viel verpasst und weiß nicht wie ich es machen soll, wäre voll nett, wenn du mir helfen könntest =) ich bin erst soweit gekommen... =(
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var a: integer;
begin randomize; For a :=0 to 49 do
label1.caption:= (IntToStr (random(49) )); |
aber wir sollen ja 50 zufällige zahlen auf einmal angezeigt bekommen, aber ich bekomme das einfach nicht hin =(
gruß meraya
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Regan - Mi 20.05.09 00:23
Hallo und :welcome: hier in der EE,
Für den Anfang würde ich dir den
Crashkurs von Christian S. [
http://www.christian-stelzmann.de/index_tutorials_crashkurs.html] empfehlen.
Für dein Problem würde ich eine ListBox nehmen. Dort kannst du alle Einträge hinzufügen. Und danach liest du alle wieder ein und addierst sie.
Dann nimm bitte beim nächsten mal [delphi]-Tags für deinen Quelltext. Das macht ihn übersichtlicher.
Und: Ist morgen heute oder morgen?
MfG
Regan
Dunkel - Mi 20.05.09 00:23
Hallo und willkommen im Forum!
So schlecht ist Dein Ansatz doch schon mal nicht! :D
Das Problem ist nur, dass Du hier
Delphi-Quelltext
1:
| label1.caption:= (IntToStr (random(49) )); |
immer die letzte Zufallszahl mir der neuen überschreibst. Entweder Du machst es ähnlich wie
Delphi-Quelltext
1:
| label1.caption:= label1.caption + '-' + (IntToStr (random(49) )); |
so werden alle Zufallszahlen im Label nacheinander, mit einem Minus getrennt, ausgeben, oder Du nimmst eine visuelle Komponente welche auch mehrzeilig ausgeben kann; TMemo (OH, Google oder Foren-Suchfunktion benutzen um zu erfahren, wie man neue Zeilen zum TMemo hinzufügen kann) z.B..
btw. sollte
Randomize; nur ein mal pro Programmstart aufgerufen werden; das ist aber nur ein Schönheitsfehler.
ffgorcky - Mi 20.05.09 08:18
Also ich denke, es würde so am einfachsten gehen
(Wenn Du [ganze] Zahlen zwischen 0 und 50 haben möchtest - sonst nur die 50 [also die maximum-Angabe] verändern):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure ZufallsZahlenErzeugen(); var i,maximum:int; begin randomize; maximum:=50; for i:=0 to 49 do zufallsZahlen[i]:=random(maximum); end; |
Wenn Du die zufallszahlen zusammenzählen möchtest:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure ZufallsZahlenZusammenzaehlen(); var summe:int; begin summe:=0; for i:=0 to 49 do summe:=summe+zufallsZahlen[i] LabelSumme.Caption:=IntToStr(summe); end; |
...wobei Du dieses hier oben unter die var-Definition des Formulars schreiben musst:
Delphi-Quelltext
1:
| var zufallsZahlen:array[49] of int; |
...oder Du könntest natürlich auch die maximale Zahl durch den User bestimmen lassen, indem Du ein Textfeld (z.B. mit dem Namen EditMaximum) anlegst, in das er die maximale Zahl schreiben kann. Das wäre dann so möglich, indem Du nur die maximum-Zuweisung veränderst:
Delphi-Quelltext
1:
| maximum:=StrToInt(EditMaximum.Text) |
Ich hoffe, das hilft Dir weiter - ist aber noch nicht zu viel auf einmal...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!