Tudna segíteni valaki?
Pascalban íródott lottószám generátorról van szó.
Forráskódja:
PROGRAM lottoszamok;
USES Crt;
CONST MAX=7; {A T t”mb maxim lis elemsz ma.}
VAR szam, meddig, me, n : byte;
i, j, k : byte; {Ciklusv ltoz˘k.}
T : array[1..MAX] of byte; {Gener lt sz mokat t rol˘ t”mb (soronk‚nt Łjraˇrja a t”mb elemeit).}
BEGIN
ClrScr; {K‚perny‹t”rl‚s.}
RANDOMIZE; {V‚letlensz m-gener l s el‹k‚szˇt‚se.}
Writeln('Melyik lottoval szeretne jatszani: '); Readln(me); {Lott˘ fajt j nak bek‚r‚se.}
While (me<5) OR (me>7) DO {Kapott ‚rt‚k vizsg lata.}
Begin
Write('Rossz adat, kerem ujra: '); Readln(me); {Hib s adat eset‚n Łjra bek‚r‚s.}
End;
CASE me OF {Helyes adat eset‚n vizsg lat, ‚s a gener land˘ sz mok intervallum nak be llˇt sa minden esetben.}
5: meddig:=90;
6: meddig:=45;
7: meddig:=35;
End;
Writeln('H ny szelvenyt jatszol: '); Readln(n); {Szelv‚nyek sz m nak megad sa, nincs megadott maximum.}
Write('Lotto szamok: '); Writeln;
FOR i:=1 TO n DO
Begin
FOR j:=1 TO me DO
Begin
szam:=Random(meddig)+1; {Sz m v ltoz˘ban a gener lt ‚rt‚k elt rol sa.}
FOR k:=1 TO j DO {T t”mb tj r sa egyez‚st keresve.}
Begin
IF (T[k]<>szam) THEN T[k]:=szam {K‚t azonos elem eset‚n (egy szelv‚nyen bell) Łjrakezd‚s, az ‚rt‚ket nem t roljuk.}
ELSE continue;
End;
Write(T[j]:4); {Szelv‚ny elemeinek kiˇr sa egym s ut n.}
End;
Writeln; {Kocsivissza minden szelv‚ny ut n.}
End;
Writeln('Nyomjon egy gombot a bez r shoz...');
ReadKey; {Gombnyom sra v r s, azt n bez r s.}
END.
A kommentből szerintem világosan kiderül, hogy mit csinálna, de valami szemantikai hiba miatt mégsem szűri ki a soronkénti ( /szelvényenkénti ) ismétlődést.
Előre is köszönöm a segítséget!





FOR k:=1 TO j DO {T t”mb tj r sa egyez‚st keresve.}
Begin
IF (T[k]<>szam) THEN T[k]:=szam {K‚t azonos elem eset‚n (egy szelv‚nyen bell) Łjrakezd‚s, az ‚rt‚ket nem t roljuk.}
ELSE continue;
End;
Szóval, 1-től az aktuális szám sorszámáig bejárod a tömböt, és ahol nem egyezik az érték, ott a tömbnek beállítod azt. Nem vagyok járatos a Pascalban, de nekem ez úgy tűnik, hogy telerakod a tömböt ugyanazzal a számmal.





Ennél rémesebben nem tudtad közölni a kódot? Legközelebb rakd fel valami kódfeltöltő oldalra, ahol legalább az indentálás megmarad, pl. ide: [link]
Amíg megpróbálom értelmezni, egy kis olvasnivaló:
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..





#1 jól írja,
ez nem vizsgálat, hanem telepakolja a számmal
meg amúgy sem j-ig kellene vizsgálni hanem j-1-ig és ha nincs egyikben sem, akkor kellene berakni t[j]-be
A random generáláskor egy olyan ciklust kell készítened, amiből akkor van kilépés, ha olyan számot generált ami nincs a tömbben. Erre nem a legjobb a for, inkább használj repeat-et.










Itt egy példa csak skandináv lottóra. Nézd át, értelmezd és fuss neki a tiednek mégegyszer:
program skandilotto;
var
lehetoseg : array [1..35] of byte;
huzott,i : byte;
begin
randomize;
for i:=1 to 35 do
lehetoseg[i]:=i;
i:=1;
while i<=7 do
begin
huzott:=random(35);
if lehetoseg[huzott]<>0 then
begin
writeln(huzott);
inc(i);
lehetoseg[huzott]:=0;
end;
end;
end.





Köszönöm a segítséget!
Ennyiből már meg fogom tudni oldani. A karakterkódolás miatt kicsit érdekes lett a kommentelés, és arra számítottam, hogy ahogy bemásoltam olyan tabulált marad, de kiszúrt velem a rendszer... Elnézést a kellemetlenségért!










#9:
Azért ennél már valamivel előbb jár a társalgás...
További kérdések:
Minden jog fenntartva © 2025, 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!