Buenas tardes,
Estoy empezando en la programación y me he encontrado con un problema. En un curso hicimos un programa que genera números al azar sin que se repitan (trabajo en subvenciones y adapté el programa para que sirviera en mi trabajo, por eso veréis cosas de subvenciones en el código).
La sorpresa fue cuando quise ejecutar el programa en mi casa (windows 8.1) y el programa se me cierra en medio de la ejecución. Os dejo el código:
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
int total;
int a_revisar;
int i;
vector<int> v;
vector<int> v_aux;
int random_number;
cout<<"Escribe el numero de trabajadores presentados a subvencion"<<endl;
cin>>total;
a_revisar = total/10;
cout<<"Tienes que revisar los siguientes "<<a_revisar<<" casos"<<endl;
srand(time(NULL));
for(i=0; i<a_revisar; i++){
random_number = rand()%total+1;
if(v_aux[random_number] != 1){
v_aux.push_back(random_number);
v_aux[random_number] = 1;
v.push_back(random_number);
}else{
i--;
}
}
for(i=0; i<a_revisar; i++){
cout<<v<<endl;
}
return 0;
}
El código compila correctamente y al ejecutarse, me sale el cout de cuantos trabajadores presento, hago el cin del número, me dice que tengo que revisar X trabajadores y justo después me salta un error que dice:
Proyecto1.exe dejó de funcionar
El programa dejó de funcionar correctamente por un problema. Windows cerrará el programa y le notificará si existe alguna solución.
Es raro porque todos los demás programas que traje del curso sí que me funcionan, algunos con las cuatro mismas librerías que este.
Si alguien me puede ayudar, se lo agradeceré.
Saludos