19/06/11 22:02
Goblin
Il linguaggio da usare è secondario, ma una buona base.
Hai già qualche idea?
Come faresti tu ?
Butta giù qualche idea, parliamone, ci sono diverse strade possibili, vediamo cosa riusciamo a tirare fuori
G.
Hai già qualche idea?
Come faresti tu ?
Butta giù qualche idea, parliamone, ci sono diverse strade possibili, vediamo cosa riusciamo a tirare fuori
G.
Ibis redibis non morieris in bello
21/06/11 11:46
Goblin
Probabilmente ti manca l'istruzione Randomize e tutto dovrebbe funzionare.
Ti metto un programmino con 2 diverse soluzioni al tuo problema.
Con la soluzione 1 mi definisco sia i numeri sia i caratteri da selezionare, mentre la seconda soluzione si basa sulla tabella ascii
Il codice è poco commentato, ma credo che sia abbastanza chiaro.
Ti metto un programmino con 2 diverse soluzioni al tuo problema.
Con la soluzione 1 mi definisco sia i numeri sia i caratteri da selezionare, mentre la seconda soluzione si basa sulla tabella ascii
Il codice è poco commentato, ma credo che sia abbastanza chiaro.
program Numeri; uses SysUtils; type aNumeri = array [0..9] of integer; aLettere = array [0..9] of Char; Const aTotNumeri:aNumeri = (0,1,2,3,4,5,6,7,8,9); aTotLettere:aLettere = ('A','B','C','D','E','F','G','H','I','H'); CS_NUMERI = 12; Var sStringa: String[CS_NUMERI]; y, z: Integer; Function genera(n:Integer): Integer; begin Result := Random(n)+1; end; Procedure Soluzione1; Var x: Integer; nRand: Integer; begin for x := 1 to CS_NUMERI do // per 12 volte begin nRand := Genera(1); if nRand=0 then //numero sStringa:=sStringa+(IntToStr(aTotNumeri[Genera(High(aTotNumeri))])) else sStringa:=sStringa+(aTotLettere[Genera(High(aTotLettere))]) end; sStringa := IntToStr(y)+') '+ sStringa; Writeln(sStringa); sStringa := ''; end; Procedure Soluzione2; Var x: Integer; nRand: Integer; begin x:=0; while not (x=CS_NUMERI) do // x 12 volte begin nRand:= Genera(122); // scrivo solo se sono nel range if ((nRand in [48..57]) or (nRand in [65..90]) or (nRand in [97..122])) then begin sStringa:=sStringa+Chr(nRand); inc(x); end; end; sStringa := IntToStr(y)+') '+ sStringa; Writeln(sStringa); sStringa := ''; end; begin Randomize; Writeln('Ripetizioni'); Readln(z); Writeln('-----------------------'); Writeln('***** Soluzione 1 *****'); for y := 1 to z do Soluzione1; Writeln('------------------------------'); Writeln('***** Soluzione 2 *****'); for y := 1 to z do Soluzione2; readln; end.
Ibis redibis non morieris in bello