elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error en medio de la ejecución
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en medio de la ejecución  (Leído 1,802 veces)
novatoc++

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Error en medio de la ejecución
« en: 26 Junio 2019, 17:02 pm »

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


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Error en medio de la ejecución
« Respuesta #1 en: 26 Junio 2019, 20:07 pm »

Tenes que depurar tu programa, no se que entorno estas usando, WinDbg es lo mejor pero no lo ideal para empezar (especialmente sin saber ensamblador).

¿Que se supone que hay en esos vectores al ejecutar el primer bucle for? Nada asi que esto no puede ser bueno:
Código
  1. if(v_aux[random_number] != 1){

Revisa el uso de los vectores en general y en particular:
http://www.cplusplus.com/reference/vector/vector/operator[]/

Citar
Access element
Returns a reference to the element at position n in the vector container.

A similar member function, vector::at, has the same behavior as this operator function, except that vector::at is bound-checked and signals if the requested position is out of range by throwing an out_of_range exception.

Portable programs should never call this function with an argument n that is out of range, since this causes undefined behavior.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
CloneDVD error de medio malo
Software
azaleag 0 3,608 Último mensaje 11 Enero 2007, 19:56 pm
por azaleag
Error de ejecucion
Programación Visual Basic
At0XXXic0 4 1,825 Último mensaje 19 Marzo 2008, 19:49 pm
por At0XXXic0
Error de ejecucion
Programación C/C++
0xDani 0 1,603 Último mensaje 14 Junio 2012, 20:06 pm
por 0xDani
Error de ejecucion
Programación C/C++
JulioRL8 2 2,114 Último mensaje 14 Junio 2016, 19:47 pm
por JulioRL8
Error de ejecucion
Programación C/C++
JulioRL8 0 1,566 Último mensaje 16 Junio 2016, 17:10 pm
por JulioRL8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines