Pascal/Turbo Pascal - necesito 15 num aleatorios sin repeticion

   
Vista:

necesito 15 num aleatorios sin repeticion

Publicado por rodrigo (3 intervenciones) el 27/05/2008 02:22:37
necesito tirar 15 numeros sin repeticion
el random es hasta 25
pero luego necesito ordenarlos
en la pantalla uno por uno
s me pueden ayudar
grax
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:necesito 15 num aleatorios sin repeticion

Publicado por Martín (8 intervenciones) el 29/05/2008 10:43:40
Dando por hecho que conoces la funcion random, los conjuntos y los arrays, te envio el código fuente que produce lo que quieres;
program Numeros_aleatorios;
uses crt;
const
MaxNum = 15;
type
Conjunto = Set of 1..25; {Rango de los numeros que produciran }
{LOS random}
var
Ordenacion : array[1..MaxNum] of integer; {Necesario para ordenar}
{los numeros obtenidos}
Numeros : conjunto;
k,w,x,y,h,i,j,z : integer;
Aux : integer;
BEGIN ClrScr;
writeln(' NUMEROS ALEATORIOS Y NO REPETIDOS');
writeln(' ==================================');
RANDOMIZE;

Numeros := [];
w := 0;
x := 15;
y := 10;
h := 1;
z := 15;

REPEAT
w := w+1;
k := random(25)+1;
if (k in Numeros) = true then
REPEAT
k := random(25)+1
UNTIL (k in Numeros) = false;
Numeros := Numeros + [k];
Ordenacion[h] := k;
gotoxy(1,10);
write('Desordenados: ');
gotoxy(x,y);
write(k:2);
x := x + 4;
h := h + 1
UNTIL w = 15
writeln;
writeln;
for i := 1 to MaxNum do
begin
for j := i+1 to MaxNum do
begin
if Ordenacion[i] > Ordenacion[j] then
begin
Aux := Ordenacion[i];
Ordenacion[i] := Ordenacion[j];
Ordenacion[j] := Aux
End
End;
Gotoxy(1,13);
write('Ordenados :');
x := 15;
gotoxy(z,13);
write(Ordenacion[i]:2);
z := z + 4
end;
writeln;writeln;writeln;writeln;writeln;writeln
END.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar