Loteria de 30 tarjetas con 12 numeros por tarjeta
Publicado por nEOLOBO (5 intervenciones) el 23/09/2008 22:26:16
O sea, lo uqe queiro hacer es una loteria de 30 tarjetas en cada cual tengo 12 numeros es decir un arreglo bidimencional de 30*12 no son 360 numeros mi problema es que de esos 360 numeros con los cuales peudo rellenar la tarjeta solo puedo usar del 1-54 es decir solo peudo usar 54 numeros repetidos varaias veces entre 360 numeros ya he logrado llenar las tarjetas sin que haya cais una repeticion de valores con este codigo que les muestro a continuacion
program loteria;
uses crt;
var
a,b,c,d,f:integer;
Plantillas: Array[1..12] of integer;
Tarjetas: Array[1..30,1..12] of integer;
Begin
clrscr;
Randomize;
For d:=1 to 30 do
begin
For a:=1 to 12 do
Begin
Tarjetas[d][a]:=Random(54);
For b:=12 to 1 do
if (Tarjetas[d][b] = Tarjetas[d][a]) then Tarjetas[d][a]:=Random(54);
For c:=1 downto 12 do
if (Tarjetas[d][c] = Tarjetas[d][b]) then Tarjetas[d][a]:=Random(54);
end;
end;
For f:=1 to 5 do
for d:=1 to 12 do
Writeln(f,'','',d,' Valor ', Tarjetas[f][d]);
Writeln;
readln;
end.
ahroa el detalle de esto y en el cual me quedo totalmente bloqueado es que si hago 360 numeros por logica tnego que dividir 360/54 (para que me de las veces en que se peude repetir un numero), me da 6.6 lo redondeo a 7 tons como hago para que el progrma me cheque los 12 numeros de cada tarjeta y me diga sabes que ete se repitio 7 veces y ya no lo use en el random ??
program loteria;
uses crt;
var
a,b,c,d,f:integer;
Plantillas: Array[1..12] of integer;
Tarjetas: Array[1..30,1..12] of integer;
Begin
clrscr;
Randomize;
For d:=1 to 30 do
begin
For a:=1 to 12 do
Begin
Tarjetas[d][a]:=Random(54);
For b:=12 to 1 do
if (Tarjetas[d][b] = Tarjetas[d][a]) then Tarjetas[d][a]:=Random(54);
For c:=1 downto 12 do
if (Tarjetas[d][c] = Tarjetas[d][b]) then Tarjetas[d][a]:=Random(54);
end;
end;
For f:=1 to 5 do
for d:=1 to 12 do
Writeln(f,'','',d,' Valor ', Tarjetas[f][d]);
Writeln;
readln;
end.
ahroa el detalle de esto y en el cual me quedo totalmente bloqueado es que si hago 360 numeros por logica tnego que dividir 360/54 (para que me de las veces en que se peude repetir un numero), me da 6.6 lo redondeo a 7 tons como hago para que el progrma me cheque los 12 numeros de cada tarjeta y me diga sabes que ete se repitio 7 veces y ya no lo use en el random ??
Valora esta pregunta


0