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.