Registriert seit: 3. Sep 2003
17 Beiträge
|
arrays vergleichen
20. Okt 2003, 21:26
hallo
ich bastle da newbie-mässig ein lotto-programm zusammen und möchte arrys verwenden, der anfang sieht so aus :
Delphi-Quellcode:
program lotto;
{$APPTYPE CONSOLE}
uses
SysUtils;
// Prozedru zum Check ob Text oder Zahl
procedure readint(var x:integer);
var
str : string; //Eingabevariable
inp,code : integer; // Umwandlungsvariable
begin
repeat
readln(str);
val(str,x,code);
if (code <> 0) then Write(' Keine Zahl eingegeben - nochmals : ')
until (code = 0);
end;
var
arr:array[1..7 ] of integer;
arrz:array[1..6 ] of integer;
i,j:integer;
begin
// Zahlen ziehen
randomize;
repeat
for i:=1 to 7 do
arr[i]:=random(49)+1;
until (arr[1] <> arr[2]) and (arr[1] <> arr[3]) and
(arr[1] <> arr[4]) and (arr[1] <> arr[5]) and
(arr[1] <> arr[6]) and (arr[2] <> arr[3]) and
(arr[2] <> arr[4]) and (arr[2] <> arr[5]) and
(arr[2] <> arr[6]) and (arr[3] <> arr[4]) and
(arr[3] <> arr[5]) and (arr[3] <> arr[6]) and
(arr[4] <> arr[5]) and (arr[4] <> arr[6]) and
(arr[5] <> arr[6]) and (arr[1] <> arr[7]) and
(arr[2] <> arr[7]) and (arr[3] <> arr[7]) and
(arr[4] <> arr[7]) and (arr[5] <> arr[7]) and
(arr[6] <> arr[7]);
writeln;
writeln(' Lottozahlen : ',arr[1],' ',arr[2],' ',arr[3],' ',arr[4],' ',arr[5],' ',arr[6]);
writeln(' Zusatzzahl : ',arr[7]);
readln;
// Tippen
begin
for j := 1 to 6 do
begin
write(' Geben Sie die ' +IntToStr(j)+ '.Zahl ein : ');
readint(arrz[j]); //Eingabe des i-Wertes in Array
end;
// Ausgabe Tips
writeln(arrz[1],' ',arrz[2],' ',arrz[3],' ',arrz[4],' ',arrz[5],' ',arrz[6]);
end;
readln;
end.
- Dass ich die arr[i] vergleiche sieht ziemlich hässlich aus, gibt es da eine Alternative ?
- Und wie kann ich beim arrz[j] verhindern, dass 2x das gleiche eingegeben wird ?
Grüsse
dinu_ch
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
|
|
Zitat
|