Kezdőoldal » Számítástechnika » Programozás » Pascal Lotto 6\49-bol! (? )

Pascal Lotto 6\49-bol! (? )

Figyelt kérdés

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>


2012. márc. 14. 19:46
 1/2 coopper ***** válasza:

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.

2012. márc. 14. 19:56
Hasznos számodra ez a válasz?
 2/2 ejbenjaro ***** válasza:

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 ;).

2012. márc. 15. 08:59
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!