![]() |
ein Lottoprogramm
Hallo,
wir haben als Hausaufgabe in Informatik ein Lottoprogramm aufbekommen, das n Lottoziehung simulieren soll. Soweit so gut, das klappt. Aber am Ende soll auch noch ausgegeben werden, wie oft welche Zahl gezogen wurde und da komm ich nicht weiter. Ich ohffe jemand kann mir helfen. Bis jetzt sieht es mal so aus:
Delphi-Quellcode:
unit lotto_u;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; ListBox1: TListBox; Button1: TButton; ListBox2: TListBox; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var L:ARRAY[1..49] OF integer; i,j,k,n: integer; neu: BOOLEAN; begin randomize; ListBox1.Clear; ListBox2.Clear; n:=StrToInt(edit1.text); for k:=1 to n do begin for i:=1 to 6 do begin repeat neu:=true; L[i]:=Random(49)+1; for j:=1 to i-1 do if L[j] = L[i] then neu:=false; until neu = true; ListBox1.Items.Add(IntToStr(L[i])); end; end; end; end. |
Re: ein Lottoprogramm
Ich würd sagen das du am besten ein array benutzt. Da kannst dann bequem alle Zahlen eintragen und am ende auch ganz leicht wieder auslesen.
|
Re: ein Lottoprogramm
Hi
nimm ein zweites Array
Delphi-Quellcode:
jetz durchläufst du dein erstes array und erhöhst im Feld "gezogene Zahlen" immer die Zahlen die schong gezogen wurden.
gezogene_Zahlen[1..49] of byte;
MfG Christian |
Re: ein Lottoprogramm
ich versteh nicht ganz wie du das mit "durchlaufen" meinst. :?
|
Re: ein Lottoprogramm
du gehst in einer for-Schleife deine gezogenen Zahlen durch, und erhöhst wie Chris vorgeschlagen hat
gezogene_Zahlen[ array_mit_allen_Zahlen[ for_schleifen_variable]]] oder du machst das o.g. direkt beim Ziehen der Zahl |
Re: ein Lottoprogramm
könnte ich da mal ein source code beispiel bekommen? :gruebel:
|
Re: ein Lottoprogramm
Hai MarkL,
schaue Dir mal in diesem ![]() Dort wurde ausführlich über ein "Lottoprogramm" gesprochen. Der oben gepostete Ansatz ist dann nämlich falsch. ;-) Auf Seite 2 des Threads fangen seine Erklärungen an! |
Re: ein Lottoprogramm
Zitat:
|
Re: ein Lottoprogramm
ist jetzt ohne syntaxcheck getippt, sollte aber das prinzip zeigen:
Delphi-Quellcode:
//edit: bugfix
procedure TForm1.Button1Click(Sender: TObject);
var i:integer; arr: array[1..49] of integer; begin for i := 0 to 99 do ListBox1.Items.Add(inttostr(random(49) + 1)); for i := 1 to 49 do arr[i] := 0; for i := 0 to pred(ListBox1.Count) do inc(arr[strtoint(ListBox1.Items[i])]); for i := 1 to 49 do ListBox2.Items.Add(inttostr(arr[i])); end; |
Re: ein Lottoprogramm
Dankeschön! Jetzt funktionierts! :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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