Foros del Web » Programación para mayores de 30 ;) » Programación General »

Generar array con numeros pares aleatorios sin repeticion pascal

Estas en el tema de Generar array con numeros pares aleatorios sin repeticion pascal en el foro de Programación General en Foros del Web. Hola, tengo que rellenar un array de forma aleatoria en pascal con los 20 primero numeros pares (2-40) sin que se repitan, pero mi código ...
  #1 (permalink)  
Antiguo 16/12/2012, 17:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 121
Antigüedad: 16 años, 4 meses
Puntos: 0
Generar array con numeros pares aleatorios sin repeticion pascal

Hola, tengo que rellenar un array de forma aleatoria en pascal con los 20 primero numeros pares (2-40) sin que se repitan, pero mi código muestra lo que le da la gana. Os agradecería mucho que me dijerais en que falla. Saludos.

Código:
program vectores;
USES crt;



CONST
 Max = 20;
 max_filas=40;
TYPE
 vector =   ARRAY[1..max] of INTEGER;

 function par(numero:integer):integer;
  begin
     randomize;
     if numero mod 2 <>0 then
        while numero mod 2<>0 do
        begin
        numero:=random(max_filas)+1;
        end;
     par:=numero;
  end;

function comprobar(posicion,numero:integer;vector_comprobar:vector):integer;
var contador:integer;
  begin
        randomize;
        FOR contador:= 1 TO posicion-1 DO
        begin
        if (vector_comprobar[contador]=numero) then
           numero:=par(numero);
         numero:= comprobar(contador,numero,vector_comprobar)
        end;
      comprobar:=numero;
  end;

VAR
 v:vector;
 i,j,inicializar, num:integer;
BEGIN
     randomize;
     ClrScr;
     i:=1;
     while i<=Max DO
     BEGIN

      num:=random(max_filas)+1;
      inicializar:=comprobar(i,num,v);

      v[i]:=inicializar;
       i:=i+1;
      end;


            (* visualizo resultado*)
            FOR j:= 1 TO i-1 DO
             writeln(' el número par es ', v[j],' posicion: ',j);
     readln
END.
  #2 (permalink)  
Antiguo 17/12/2012, 03:01
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Generar array con numeros pares aleatorios sin repeticion pascal

Te falta comprobar que el número que estas generando no esté ya generado.

Etiquetas: numeros, pascal, repeticion, visual, aleatoria, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:41.