![]() |
[Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Hallo liebe Delphi-Praxis User.
Ich brauche eure Hilfe. In der Schule arbeiten wir momentan mit dem Programm "Turbo Pascal" und irgendwie werden wir nicht so richtig Freunde. Heute in der Schule sollten wir dann einen "Lotto Rechner" schreiben. Unser Lehrer schrieb uns das meiste an der Tafel vor und wir durften abschreiben. Mein eigentliches Problem ist nun, dass ich zuhause weiter arbeiten soll und mein Vista 64 Bit das TP nicht mag. Zur nächsten Woche sollen wir die ausgegebenen Zahlen sortieren lassen. Hierzu habe ich auch schon diverse Verfahren gefunden. Unser Lehrer riet uns zum "Bubble Sort". Hierzu fand ich hier in der Code-Library diesen Link: ![]() Nun weiß ich jedoch nicht, wie ich das 1. in Turbo Pascal übersetzen kann und 2. testen kann ich es leider auch nicht, da es bei mir nicht funktioniert. Hier mal den Source aus der Schule:
Code:
Ich hoffe, dass jemand von euch mir weiterhelfen kann. In 1-2 Wochen werden wir dann hoffentlich mit Delphi anfangen, denn das läuft Flüssig auf meinem Pc :-).
program lottozahlen;
uses crt; var lotto:array [1..6] of integer; i:integer; procedure ziehung; Begin for i:=1 to 6 do Begin lotto[i]:=1+random(49); {1+0-48} End; End; Begin Textbackground(Black);Textcolor(white); clrscr; randomize; ziehung; if (lotto[1]=lotto[2]) or (lotto[1]=lotto[3]) or (lotto[1]=lotto[4]) or (lotto[1]=lotto[5]) or (lotto[1]=lotto[6]) or (lotto[2]=lotto[3]) or (lotto[2]=lotto[4]) or (lotto[1]=lotto[5]) or (lotto[2]=lotto[6]) or (lotto[3]=lotto[4]) or (lotto[3]=lotto[5]) or (lotto[3]=lotto[6]) or (lotto[4]=lotto[5]) or (lotto[4]=lotto[6]) or (lotto[5]=lotto[6]) then ziehung else {Vor else nie ein Simikolon :-)} Begin gotoxy(28,25); for i:=1 to 6 do Begin write(lotto[i],' '); End; End; readkey; End. MfG, Christian |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Guten Abend,
schau mal ![]() und die vielen or willst Du doch sicherlich nicht so lassen. Wäre es nicht einfacher das Array nach der gezogenen Zahl zu durchsuchen? Grüße Klaus |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Hi,
also erstens :solltest nicht nur "eine" Zahl ziehen sondern 6 zweitens:schau dir mal die Befehle Repeat Until an..die helfen dir da drittens: nen Zaehler..der bei "doppelt auftretenden Zahlen evtl. "nicht" erhoeht wird in der Schleife. P.S.: Turbopascal geht doch "Flott" auf sonem "neuen" rechner..kannste flink kompilieren *ggg* |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Zitat:
Zitat:
Bei doppel Zahlen macht er auch einen neuen Wurf, also alle Zahlen nochmal neu und zeigt die vorherigen nicht an. Das einzigste was fehlt ist ebend die Sortierung von klein nach groß. Ich hab einen "neueren" Rechner. Habe auch schon versucht eine VM in gang zu bringen, aber irgendwie wollte das nicht so wie ich. MfG, Christian |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Zitat:
Wäre es da nicht sinnvoller schon bei der Ziehung zu schauen ob eine Zahl schon gezogen wurde und dann nur für diese Zahl einen weitere ziehen. Das dann solange wiederholen bis alle 6 Zahlen unterschiedlich sind. Grüße Klaus |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Zitat:
|
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Zitat:
![]() |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Zitat:
Wie gesagt, er hat uns "vorgeschrieben" und ein bisschen erklärt und wir haben "abgeschrieben" und Hasuaufgabe ist ebend die Sortierung einzubauen und weil das Programm ja nicht bei mir läuft ist das irgendwie nicht das gelbe vom Ei. Zitat:
MfG, Peter |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Zitat:
1. vmplayer laden und installieren 2. unter ![]() 3. dos installieren 4. Turbo Pascal installieren Grüße Klaus |
Re: [Suche]Hilfe bei Turbo Pascal Lottozahl Generator
Hallo Christian,
für Lottozahlen bietet sich der Datentyp Menge also "set of" an. Durch das Auslesen mit der Abfrage "IN" erübrigt sich das Sortieren.
Delphi-Quellcode:
Kann sein, dass noch einige Syntaxfehler enthalten sind, da ich den Code nicht mit Turbo-Pascal erstellt habe.
program lottozahlen;
uses crt; type TLottozahl = 1..49; TLottotipp = set of TLottozahl; var Lottozahl: TLottozahl; Lottotipp: TLottotipp; i:integer; begin Lottotipp := []; { Der Lottotipp ist zunächst die Leere Menge } Randomize; for i:=1 to 6 do { Es werden 6 Lottozahlen gezogen } begin Repeat Lottozahl := Random(49)+1; { Wird so lange wiederholt bis eine neue Zahl gefunden wird } Until not(Lottozahl in Lottotipp); Lottotipp := Lottotipp + [Lottozahl]; { Vereinigungsmenge aus Lottotipp und der neuen Lottozahl } end; for Lottozahl:=1 to 49 do begin if Lottozahl in Lottotipp then { Sucht die gezogenen Zahlen der Größe nach heraus } write( Lottozahl , ' ' ); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz