Clipper/FiveWin - Generar líneas aleatoriamente usando las mismas 10 palabras

 
Vista:

Generar líneas aleatoriamente usando las mismas 10 palabras

Publicado por juanato (19 intervenciones) el 13/10/2011 10:34:45
Hola desde España. necesitaría poder crear aleatoriamente lineas para un fichero CSV, delimitado por comas con un diccionario de 10 palabras previamente introducidas por teclado. El programa debe de generar 50 líneas totalmente diferentes, como si se tratase de un combinación única cada línea de estas 10 palabras. Gracias.
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

Generar líneas aleatoriamente usando las mismas 10 palabras

Publicado por Hector Ricardo Vega (6 intervenciones) el 13/10/2011 17:05:39
Saludos desde México:

Oye, para generar las líneas aleatoriamente, primero debes de tener una función que te permita crear una secuencia de números aleatorios. Desafortunadamente Clipper no incluye una dentro de sus bibliotecas estándar, pero hay una, que se llama RAND, que esta incluida dentro de las Nantucket Toosl o las CA Clipper Tools. Ahora, si estas trbajando con Harbour 2.0 o Harbour 3.0, estos ya la incluyen. También puedes hacerte una función, por ejemplo en lenguaje C existe ya una función así, llamarla desde Clipper.

Una vez teniendo la función Rand, el resto es sencillo, supongamos que las palabras que capturaste desde el teclado las almacenas en el vector palabras, que tiene diez posiciones, ahora:

// primero abres el archivo donde vas a guardar las palabras

// ahora revuelves las palabras

For i = 1 to 50 // ciclo para generar las cincuenta lineas deseadas
j := 0
do while j <= 10 // revolvemos las palabras dentro del vector
inicio := INT( RAND() * 10 ) + 1 // apuntador a la primera palabra a revolver
fin := INT( RAND() * 10 ) + 1 // apuntsdor a la segunda palabra
IF (inicio <> fin) // son distintas palabras
temporal := palabras[inicio] // intercambialas
palabras[inicio] := palabras[fin]
palabras[fin] := temporal
j := j + 1
ENDIF
ENDDO

// ahora guardas las diez palabras del vector en tu archivo
NEXT

// cierras tu archivo y listo ...

Espero que te sirva, saludos desde mi bello país México, porque ¡como México no hay dos! ...
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

Generar líneas aleatoriamente usando las mismas 10 palabras

Publicado por Boromir (1 intervención) el 14/10/2011 14:55:30
Claro. No hay dos Méxicos, no hay dos Españas, no hay dos Colombias, dos Bolivias, dos Suizas, no hay dos Italias, no hay dos Noruegas, no hay dos Japones, ni dos Chinas, ni tres Nuevas Zelandas. No hay dos Ecuadores, no hay cinco Francias, ni dos Croacias, ni dos Belices. No hay dos Estados Unidos (menos mal). No hay dos Portugales. No hay seis Holandas, ni dos Rusias. No hay dos Chiles, no hay dos Suecias, ni dos Pakistanes. No hay dos Indias, no hay seis Coreas (dos nomás). No hay dos Australias, ni dos Perúes.

EN FIN, NO HAY DOS PAISES IGUALES. Esa era la idea.

Besos
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