2015. január 3., szombat

Pascal program: Lottószámok

Program Lottosz;
Uses crt;
Type Halmaz=Array[1..90]of boolean;
Var sajath, huzotth, talalath:Halmaz;
 talalatsz,i:byte;
 
Procedure UresHalmaz(var H:Halmaz);
var i:byte;
begin
 for i:=1 to 90 do H[i]:=false;
end;

Procedure Sajatszamok(var sajath:Halmaz);
var  db,szam:byte;
begin
  UresHalmaz(sajath);
  writeln('Adja meg a lotto szamait!');
  db:=1;
  while (db<6) do
   begin
   writeln(db,'. szam: ');
   readln (szam);
   if (szam <1) or (szam>90) then writeln('Rossz szamot adott meg!')
   else begin
            if sajath[szam]=true then writeln('Ez a szam mar szerepelt!')
            else begin
                   sajath[szam]:=true;
                   inc(db);
                 end;            
     end;   
   end;
end;

Procedure Sorsolas(var huzotth:Halmaz);
var db,szam:byte;
begin
 UresHalmaz(huzotth);
 randomize;
 szam:=random(90)+1;
 huzotth[szam]:=true; 
 db:=1;
 while(db<5) do
   begin
  szam:=random(90)+1;
  if huzotth[szam]=false then
    begin
     huzotth[szam]:=true;
     inc(db);
    end;
   end;  
end;

Procedure Talalatok(sajath,huzotth:Halmaz; var talalath:Halmaz);
var i:byte;
begin
 for i:=1 to 90 do talalath[i]:=(sajath[i] and huzotth[i]);
end;

Procedure KiirElemek(H:Halmaz; var elemsz:byte);
var i:byte;
begin
  elemsz:=0;
  for i:=1 to 90 do
  begin
   if H[i]=true then
   begin
    write(i,' ');
    inc(elemsz);
   end;
  end;  
end;
 
Begin
 clrscr;
 writeln('Lottozas');
 writeln();
 Sajatszamok(sajath);
 writeln();
 write('Az On szamai: '); KiirElemek(sajath,i);
 writeln();
 writeln();
 Sorsolas(huzotth);
 write('Eheti nyeroszamaink: '); KiirElemek(huzotth,i);
 writeln();
 writeln();
 Talalatok(sajath, huzotth,talalath );
 write('Az eltalalt szamok: '); KiirElemek(talalath,talalatsz);
 writeln();
 writeln('A talalatok szama: ',talalatsz);
 readln;
End. 



Nincsenek megjegyzések:

Megjegyzés küldése