• Sábado 14 de Diciembre de 2024, 09:36

Autor Tema:  Re: Vector con N° aleatorio sin repetirse  (Leído 1658 veces)

zure

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Vector con N° aleatorio sin repetirse
« en: Martes 11 de Junio de 2002, 23:18 »
0
Hola! Como hago para crear un vector con numeros aleatorios (con random) si que se repitan estos numeros. Tengo esto, porfa diganme donde esta el error:

for (i=0; i<=20; i++)
{
t=1+ random(75);
for (j=0; j<=i; j++)
{
if (t==vector[j])
  {
     i--;
else
   vector[j]=t;
}
}

Ismael

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Vector con N° aleatorio sin repetirse
« Respuesta #1 en: Miércoles 12 de Junio de 2002, 22:44 »
0
La verdad que el fragmento de código que envías no indica mucho, sin saber qué es vector[]...
Si quieres que no repita números, recorre el vector y si hay alguno repetido, genera uno nuevo.
Un código que  puede serte útil lo tienes en la sección de "Arrays" de

www.geocities.com/ismaelcamarero

el programa se llama "primitiva.zip" y simula la generacion de los números para un tipo de lotería (sin valores repetidos)
Espero que te sirva
Ismael:)

LamKros

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
    • http://www.lamkros.com
Vector con N° aleatorio sin repetirse
« Respuesta #2 en: Lunes 1 de Julio de 2002, 13:29 »
0
/*
Aqui tienes un mini-programa como una solucion
Espero que te sirva
*/

#include <iostream.h>
#include <stdlib.h>
#include <time.h>

/*Realizado por Lamkros*/

int main()
{int i,j,t;
bool ok=true;
int vector[21];
i=0;
srand(time(0));  //inicializa el rand

while (i<=20)
{ok=true;
t=(rand()%75)+1; //Calculo en num aleatorio
j=0;
while ((ok)&&(j<i)) //Compruebo que no esta ya
{
if (vector[j]==t)
{ok = false;}
else
{++j;}
}
if (ok)  // Si no está incremento i y le doy al vector su valor t
{vector=t;
++i;}

}

//Imprime todos los valores
for (i=0;i<=20;++i)
{cout <<endl<<vector<<", ";}
 
system("PAUSE");
return 0;
}

//Suerte;)