Pascal Lotto 6\49-bol! (? )
Igy probaltam megoldani, de nem mukodik. Az a baj, hogy a tippelt szam ugyanazon az "i" helyen kell legyen, mint amire a szamitogep gondolt.
<b>
program lotto_6_49;
uses crt;
var st:array[1..6] of integer;
a:array[1..6] of integer;
i,k:integer;
begin
clrscr;
randomize;
for i:=1 to 6 do
st[i]:=random(48)+1;
for i:=1 to 6 do
writeln(st[i]); {csak h lassam, melyek is azok a szamok}
writeln('Loto 6\49-bol!');
writeln('Irja be a tippelt szamokat:');
for i:=1 to 6 do begin
write('a[',i,']=');
readln(a[i]);
if a[i]=st[i] then begin k:=k+1;
writeln('Talalt a szam:',a[i]);
end;
end;
write(k,' db szamot talalt el!');
readln;
end.
</b>
Szia.
Két ciklusban keresd az egyezéseket.(Tehát a bekért számokat a[i] hasonlitod a sorsolt számokkal st[j]) :
k:=0;
for I:=1 to 6 do begin
for j:=1 to 6 do begin
if a[i]=st[j] then k:=k+1;
end ;
end ;
Még egy kérdés a számgenerálással kapcsolatban :
randomize;
for i:=1 to 6 do
st[i]:=random(48)+1;
Itt mi a helyzet a dubla számokkal (tudom, hogy kicsi az esély), de elképzelhető, hogy ugyanazt a számot kétszer "húzod ki".
Sok sikert.
Üdv.
Szerintem érdemes kicsit játszadozni a halmazokkal ebben az esetben. Például így:
program lotto_6_49;
var
nyertesszamok: set of byte;
tippek: set of byte;
talalat: set of byte;
i: integer;
x: byte;
begin
i:=1;
randomize;
while i<>7 do
begin
x:=random(48)+1;
if not (x in nyertesszamok) then
begin
include(nyertesszamok,x);
inc(i);
end;
end;
writeln('Kérem a tippeket: ');
i:=1;
while i<>7 do
begin
repeat
write('Tipp ',i,': ');
readln(x);
until x in [1..49];
if not (x in tippek) then
begin
include(tippek,x);
inc(i);
end;
end;
writeln('A nyerőszámok: ');
for i:=1 to 49 do
begin
if i in nyertesszamok then
writeln(i);
end;
writeln('Az ön találatai: ');
talalat:=nyertesszamok*tippek;
x:=0;
for i:=1 to 49 do
begin
if i in talalat then
begin
writeln(i);
inc(x);
end;
end;
writeln('Önnek összesen ',x,' találata van!');
readln;
end.
Free Pascal alatt próbáltam, ott működik ;).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!