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;

Rispondi quotando