FoxPro/Visual FoxPro - error en Ascan ?

 
Vista:

error en Ascan ?

Publicado por Pablo (24 intervenciones) el 25/01/2007 21:12:43
Hola Amigos
Tengo este codigo con el cual deseo obtener numeros aleatorios que no se repitan, pero cuando lo ejecuto me repite un numero 2 veces. Pueden revisar mi codigo y decirne como lo puedo afinar.

SET EXACT ON

CLEAR
cantp=20
ocurrencias=0
posicion=0
resp=.T.
DIMENSION npreguntas(cantp)

DO WHILE resp=.t.
DO buscarp
IF posicion>=cantp
resp=.F.
ENDIF
ENDDO
ASORT(npreguntas)
FOR i=1 TO cantp
? npreguntas(i)
NEXT i

PROCEDURE buscarp

FOR i=1 TO cantp*10
IF posicion=cantp
EXIT
ENDIF
a= RAND()
IF ASCAN(npreguntas,a,1)=0
posicion=posicion+1
npreguntas(posicion)=a
ENDIF
NEXT i
ENDPROC

Saludos
Pablo
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
sin imagen de perfil

RE:error en Ascan ?

Publicado por Ernesto Hernandez (4623 intervenciones) el 26/01/2007 19:59:24
Solo agregale al FOR un STEP

FOR i=1 TO cantp STEP 10

Suerte
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