Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/01/2011, 08:35
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Problemita con el siguiente programita de prueba

El error venía del bucle. Me explico:

Cuando entras al bucle while, lo primero que haces es incrementar contador. Con ello:

1. El primer número que metas ya no va a m[0], sino a m[1].

2. Cuando contador ya vale 4, entras a una nueva iteración, incrementas contador, ya vale 5, PEEEEEERO no compruebas su valor (recuerda que el bucle while comprueba la condición ANTES de efectuar la iteración). Acto seguido, estás metiendo un valor en m[5], que no existe.

3. Recuerda que, en C / C++, un array de n elementos tiene los índices 0 a n-1. Es decir, tu array m[4] irá de m[0] a m[3]. Tal como tienes el bucle has metido valores para m[4] y m[5] (que no existen). Las consecuencias de un error como este pueden ser graves.