Autor Beitrag
nic
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 16.07.02 17:53 
Hallo Leute,

falls ich im falschen Forum poste, verschiebt es bitte. Danke euch. Also ich habe folgendes Problem. Ich schreibe übermorgen Informatik und darf keine 0 Punkte schreiben. Ich war leider kaum da und hab keine Ahnung von Informatik, ich weiß nur, dass wir so nen Art Lottospielprogramm programmiert haben, wo man dann die Lottozahlen und ne Zusatzzahl bekommt, immer ne andere halt. Denke sowas kommt auch in der Arbeit. Kann mir jemand sagen wie das genau geht oder mir nen Link schicken, von einem, der das schon gemacht hat ? Dürfte ganz einfach sein, ist nur Grundkurs!

Ich danke euch,
Andreas

Titel geändert. Siehe Richtlinien. TINO
Datadoll
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 16.07.02 18:03 
mmmh.... scheint wirklich simpel zu sein... spontan würd ich mir ein paar editfelder schnappen, die auf read only stellen... einen button zum aktivieren und dann soll der im jeden editfeld eine randomzahl zwischen 0 und 50 setzten *muha* natürlich muss überprüfen, ob eine zahl doppelt vorkommt und wenn das der fall ist, einfach für dieses editfeld einen neu generierten wert zuweisen *g* das war´s

ich geb dir hier jetzt x-tra keinen quellcode, weil ich der meinung bin, dass doo es selbst hinkrichst und weil dieses Forum keine Hausaufgaben-Community darstellt *grrr*

MfG Datadoll

P.S. Ich bin selber kein Crack, würde es aber auch hinkriegen. Wenn also jemand verfeinerungen am stacht hat, kann der sich ja melden. Das wra nur so mein erster gedanke zur programmbeschreibung :D

_________________
Visit the Community: click the www-button
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Di 16.07.02 20:10 
Einen ganzen Quellcode werd ich dir auch nicht geben :cry: , aber dafär ein paar Tips: :)

ausblenden Delphi-Quelltext
1:
Random(49)+1;  //liefert einen zufallswert(integer) zwischen 1 und 49					


das Auslosen der Zahlen würd ich so bauen: du hast ein array mit den Zahlen 1-49 gefüllt dann lost du den ersten Wert aus und trägst in die entsprechende array-stelle jetzt -1 ein, beim zweiten(3., 4...) Wert muss immer so lange ne gelost werden(while-Schleife), bis du einen Wert bekommst(aus dem array) der nicht -1 ist(also schon vorhanden), wenn der werte <> -1 ist ist er deine zwei, drit...-te Zufallszahl

Ach ja, die zusatzzahl:

ausblenden Delphi-Quelltext
1:
zusatzzahl := Random(6)+1;  //sind doch Werte von 1-6 oder					



PS schreibt ihr im Grundkurs jetzt noch Tests? :P, bei uns in der Klasse wird nurnoch geschlafen!!

MathiasH

Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Di 16.07.02 21:31 
Hi,

also sortiert sollten die Zahlen wohl auch werden. Ich hab mal schnell ein Prog gecodet:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
procedure TForm1.Button1Click(Sender: TObject);
var arrAll: array[1..49of Byte; i,k,iRand,iPos: Byte;
    arrZahlen,arrSort: array[1..6of Byte;
begin
 //Zufallsgenerator wird iniziiert.
 Randomize; 

 // Zahlenarray wird mit Zahlen von 1-49 gefüllt.
 for i:=Low(arrAll) to High(arrAll) do arrAll[i]:=i; 

 //Zufallszahlen werden generiert und gespeichert.
 for i:=Low(arrZahlen) to High(arrZahlen) do begin 
  iRand:=Random(49)+1;
  while arrAll[iRand]=0 do iRand:=Random(49)+1;
  arrZahlen[i]:=iRand;
  arrAll[iRand]:=0;
 end;
 
 //Zufallszahlen werden sortiert.
 for i:=Low(arrZahlen) to High(arrZahlen) do begin 
  iPos:=0;
  for k:=Low(arrZahlen) to High(arrZahlen) do begin
   if arrZahlen[i]>=arrZahlen[k] then Inc(iPos);
  end;
  arrSort[iPos]:=arrZahlen[i];
 end;
end;

Als Ergbeniss hast du ein sortiertes Array arrSort. Das kannst du in einer For-Schleife zu einem Textstring zusammenfügen uuund in ein Textfeld ausgeben.

(Zuatzzahl siehe oben)

Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt
Onoprienko
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 17.07.02 16:35 
Also die Lösung von hitstec finde ich für einen, der nie da war, schon heftig. Hier ist mal meine (hitstec, nicht falsch verstehen!):


Auf der Form sollte ein Button (Button1) und ein Edit-Fenster (Edit1) vorhanden sein.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button1Click(Sender: TObject);
var
  lauf,zufalls_zahl,zusatz_zahl:integer;
  zahlen:array[1..49of integer;
begin
  randomize;  //Zufallsgenerator wird initialisiert
  lauf:=0;
  repeat  //6 Zahlen ermitteln, entspr. Feldplätze z.B. auf -1 setzen
    zufalls_zahl:=random(49)+1
    if zahlen[zufalls_zahl]<>-1
    then begin
           zahlen[zufalls_zahl]:=-1;
           inc(lauf);
         end;
  until lauf=6;
  zusatz_zahl:=random(6)+1;  //Zusatzzahl ermitteln 
  for lauf:=1 to 49  //alle Feldplätze durchgehen
  do if zahlen[lauf]=-1  //die, die auf -1 sind, wurden ermittelt
     then edit1.text:=edit1.text+inttostr(zahlen[lauf]);  //werden ausgegeb.
  edit1.text:=edit1.text+inttostr(zusatz_zahl);  //und Zzahl ausgeben
end;


Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Mi 17.07.02 17:20 
@histec: für mich schaut deine Lösung ziemlich nach meiner Beschreibung aus :D , aber is ja egal, ich wollt halt keinen ganzen Code schreiben, da nic ja auch noch was selber machen sollte,

aber nun der eigentliche Grund dieses Posts:
wozu werden bei histec's Lösung die Zahlen sortiert, da hätte man beim Lotto shr viel höhere Gewinnchancen!!! 8)

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Mi 17.07.02 17:21 
Zitat:
Also die Lösung von hitstec finde ich für einen, der nie da war, schon heftig. Hier ist mal meine (hitstec, nicht falsch verstehen!):

:?: Warum? :lol:

Ja gut ich gebe zu, es ist nicht auf den ersten Blick verständlich. Aber es funkt, sogar noch ganz gut, denke ich.
Außerdem haben wir so was Ähnliches auch in Informatik durchgenommen, allerdings in JavaScript :shock: .

@Onoprienko: Dien Bsp. gibt aber nur -1er aus. :cry:
Allerdings muss ich sagen, dass deine Methode eigentlich die einfachere und die bessere ist. Du hast bei der Ausgabe nur einen Fehler gemacht: statt

ausblenden Delphi-Quelltext
1:
edit1.text:=edit1.text+inttostr(zahlen[lauf]);					

muss es natürlich so heißen:

ausblenden Delphi-Quelltext
1:
edit1.text:=edit1.text+inttostr(lauf);					


Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Mi 17.07.02 17:28 
Zitat:
@histec: für mich schaut deine Lösung ziemlich nach meiner Beschreibung aus , aber is ja egal, ich wollt halt keinen ganzen Code schreiben, da nic ja auch noch was selber machen sollte,

Naja nicht ganz. Bei dir stht irgendwas mit solange bis irgendetwas -1 ist, und so. Die Beschreibung habe ich auch nach dem 10. mal nicht kapiert :oops: . Vielleicht bin ich wirklich dumm. :shock:

:lol:

Zitat:
aber nun der eigentliche Grund dieses Posts:
wozu werden bei histec's Lösung die Zahlen sortiert, da hätte man beim Lotto shr viel höhere Gewinnchancen!!!

Also ich spiele kein Lotto, habe deshalb keine Ahnung. Wir haben die Lotozahlen in Informatik immer sortiert.
1Stein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30



BeitragVerfasst: Sa 15.02.03 23:30 
bin kein Delphi Progger bzw erst neu beim proggen mit delpi aber beim lotto werden die Zahlen sortiert :mrgreen: und zwar von klein :arrow: groß 8)

_________________
1Stein wäre nie 1Stein geworden wenn 2Stein nicht gewesen wäre ;)