Generar un vector de 37 números aleatorios y diferentes
Publicado por Juan (21 intervenciones) el 26/06/2019 04:32:24
Hola , estaba intentando generar un vector de numeros diferentes y aleatorios usando rand pero al compilarlo aparecen numeros repetidos ¿Que podria ser?
El modulo verificación esta hecho para que revise el vector hasta la posición en i que se tiene en ese momento y saber si el valor asignado a aux usando rand existe o no en el vector y si existe devolver true y luego en el main el bucle while verifica que si llega a ser true genere un nuevo valor para aux y volver a verificar pero no esta funcionando como yo quisiera.
De momento esta probando con numeros pequeños para probar su funcionamiento
El modulo verificación esta hecho para que revise el vector hasta la posición en i que se tiene en ese momento y saber si el valor asignado a aux usando rand existe o no en el vector y si existe devolver true y luego en el main el bucle while verifica que si llega a ser true genere un nuevo valor para aux y volver a verificar pero no esta funcionando como yo quisiera.
De momento esta probando con numeros pequeños para probar su funcionamiento
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <stdlib.h>
#include <cstdlib>
#include <time.h>
using namespace std;
const int MAX=4;
typedef int tvector[MAX];
void mostrar (tvector b);
bool verificacion (tvector a, int num, int pos);
main(){
tvector a;
int aux;
bool band;
srand(time(NULL));
for(int i = 0; i<MAX; i++)
{
aux= rand()%6;
bool band= verificacion (a,aux,i);
while(band==true)
{
aux= rand()%6;
band=verificacion (a,aux,i);
}
a[i]=aux;
}
mostrar(a);
system("pause");
}
void mostrar (tvector b)
{for(int i = 0; i<MAX; i++)
cout<<b[i]<<" ";
}
bool verificacion (tvector a, int num, int pos)
{ int i; bool band;
for (i=0 ;i<=pos;i++)
{
if (num==a[i])
band =true;
else
band=false;
}
return band;
}
Valora esta pregunta


0