C/Visual C - Random para inicializar un vector de n posiciones

 
Vista:

Random para inicializar un vector de n posiciones

Publicado por Bisan (2 intervenciones) el 21/03/2002 06:05:07
Hola, quiero inicializar un vector de n posiciones mediante n valores distintos. Y que el orden de los enteros sea aleatorio cada vez que llame a la función (Implementada en C). Es decir, si se le pasa a la funcion "inicializar_vector(10)" me inicialice el vector de 10 posiciones con los siguientes valores, por ejemplo: 4 1 3 6 10 5 9 8 2 7 . Que el orden sea aleatorio. Si se le vuelve a llamar "inicializar_vector(10)" me de por ejemplo: 8 10 6 3 4 1 5 2 7 9. Espero que se me entienda. Muchas 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

RE:Random para inicializar un vector de n posicion

Publicado por Alejandro (13 intervenciones) el 22/03/2002 16:24:40
Para generar numeros aleatorios que van a ir en posiciones aleatorias.

Los vectores no podes darles el tamaño en forma dinamica, es decir tenes que darle el tamaño mientras generas el codigo fuente, tendrias que usar una Lista, cuando pongas inicializar_vector(10) lo primero que hace la función es crear la lista de 10 posiciones asignandole (por ejemplo) en el campo NUMERO = -1.

Luego pone el inicializador de numero aleatorios srand((unsigned) time (NULL)) tenes que usar time.h y stdlib.h, y un Contador.

Dentro de un while( contador<=10) generas un nro. con rand( ) % 10 +1
caminas por la lista desde la primera ubicacion hasta la que genero el rand() y con un con un if preguntas si en el campo NUMERO hay o no un -1 si no (FALSE) generas otro aleatorio y volves a preguntar.

Si hay un -1 (TRUE) generas otro aleatorio y lo colocas en el campo NUMERO. a y no te olvides de Contador++ si no nunca vas a salir del while.

Espero haberte ayudado un poco.
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