Pascal. Elakadtam, hol itt a hiba?
program emailsorsolo;
uses crt;
var cimek : array of string;
x,y,i,z : byte;
sorsolt : set of byte;
begin
repeat
clrscr;
writeln('Kérem adja meg hány e-mail címet szeretne felvenni a sorsoláshoz [1-255]: ');
readln(x);
until x in [1..255];
Setlength(cimek,x);
randomize;
repeat
clrscr;
writeln('Kérem adja meg hány e-mail címet sorsoljak ki [1-',x,']: ');
readln(y);
until y in [1..x];
clrscr;
writeln('Az adatok felvitele következik...');
for i:=0 to x-1 do
begin
write(i+1,'. e-mail cím: ');
Readln(cimek[i]);
end;
clrscr;
writeln('A sorsolás következik...');
i:=1;
repeat
z:=random(x);
if not (z in sorsolt) then
begin
include(sorsolt,z);
writeln(i,'. nyertes e-mail címe : ',cimek[z]);
inc(i);
end;
until i>y;
Setlength(Cimek,0);
end.
Ilyet én is írtam Lazarusban (Free pascal) anno, mert valakinek szüksége volt rá. Ha érdekel itt letöltheted (nagyjából 2 napig lesz fent): *****
Ez mondjuk rendelkezik grafikus felülettel.
* Automatikusan eltávolított tartalom.
Szia.
Bemásoltam Borland Pascal-ba a következő problémái adódtak a forditónak :
1. a BP nem ismeri a ezt a fajta deklarációt :
"var cimek : array of string;"
helyette használj valami hasonlót :
"var cimek : array [1..255] of string[80];"
80 karakter hosszú e-mail cimek (Figyelni kell a 64 Kbájtos Adatszegmensre tehát a "var cimek : array [1..255] of string;" már nem jó mert túlépi a 64 kbájtos adatszegmenst:255*255)
2. Ez pedig az 1 pontból következik: nem ismeri a " Setlength(cimek,x);" procedurát sem. Ezeket ki kell remelni vagy ki kell törölni:
{Setlength(cimek,x);}
Egyébként működik.
Sok sikert.
Üdv.
Itt vannak segítségek az alprogramokhoz. De még sok minden van kereshetsz még más problémára is választ.
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!