Salve a tutti.
Sto creando un programma in Pascal in cui devo simulare un'estrazione del lotto. Il problema sorge dal fatto che su ogni ruota devono esserci tutti numeri diversi.
Io onestamente non saprei bene come fare questo codice che controlla se i numeri sono uguali e se eventualmente lo sono li sostituisce.
Ecco il codice;
codice:
program estrazione_lotto;
uses crt;
type
tabella = array[1..11,1..5] of integer;
var
tab:tabella;
k,s:string;
f:integer;
procedure estrazione;
var
a,b: integer;
trovato:boolean;
begin
randomize;
for a:=1 to 11 do
for b:=1 to 5 do
tab[a,b]:=random(90+1)
end;
procedure scrivi;
var
a,b,num,col:integer;
begin
num:=15;
col:=5;
for a:=1 to 11 do
begin
gotoxy(num,col);
for b:=1 to 5 do
begin
write (tab[a,b]:5);
end;
col:=col+1;
end;
end;
procedure centra(scritta:string;y:integer);
var
x:integer;
begin
x:=((80-(length(scritta)))div 2);
gotoxy(x,y);
write(scritta);
end;
procedure nomi;
begin
gotoxy(2,5);
Write('Nazionale');
gotoxy(2,6);
Write('Bari');
gotoxy(2,7);
Write('Cagliari');
gotoxy(2,8);
Write('Firenze');
gotoxy(2,9);
Write('Genova');
gotoxy(2,10);
Write('Milano');
gotoxy(2,11);
Write('Napoli');
gotoxy(2,12);
Write('Palermo');
gotoxy(2,13);
Write('Roma');
gotoxy(2,14);
Write('Torino');
gotoxy(2,15);
Write('Venezia');
end;
procedure cerca;
var num,a,b,cont:integer;
begin
gotoxy(2,20);
Write('Cerca un Numero: ');
readln(num);
cont:=0;
for a:=1 to 11 do
for b:=1 to 5 do
if num=tab[a,b] then
begin
Writeln('Il numero si trova nella ruota numero ',a,' in posizione ', b,'');
cont:=1;
end;
If cont=0 then writeln('Il numero non e'' presente in nessuna ruota');
end;
begin
estrazione;
clrscr;
centra('Estrazione del lotto',1);
scrivi;
nomi;