Dev - C++ - Problema con array

 
Vista:
Imágen de perfil de Alfonso

Problema con array

Publicado por Alfonso (7 intervenciones) el 03/06/2017 05:23:15
Hola a todos, estoy creando un programa para poner en practica todos mis conocimientos de c++, puesto que hace poco aprendi lo basico. Hoy estaba creando un programa que cuenta con un array, pero este array es muy raro, por que en primera a la hora de ponerlo en un pointer me salian valores que no tenia el array. Ademas en este momento el array tiene 3 espacios, pero segun el programa tiene 6 y estos ultimos tienen valores que nunca puse. Aqui esta el programa

Main.cpp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
#include "ClasePrueba.h"
 
using namespace std;
 
int main()
 
{
 
ClasePrueba usuario;
 
usuario.CEC();
 
    return 0;
 
}


ClasePrueba.h:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef CLASEPRUEBA_H
#define CLASEPRUEBA_H
 
 
class ClasePrueba
{
    public:
 
        ClasePrueba();
 
        //Checador de espacios de cuentas
        void CEC();
 
    protected:
 
    private:
 
        int NumCuentas[3] = {0, 0, 0};
 
        int n = 3;
        //Numero de cuentas disponibles
};
 
#endif // CLASEPRUEBA_H


ClasePrueba.cpp:

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
#include "ClasePrueba.h"
 
#include <iostream>
 
using namespace std;
 
ClasePrueba::ClasePrueba(){
 
   cout << "Bienvenido al sistema de administracion de cuentas de Alfonso" << endl;
 
}
 
void ClasePrueba::CEC() {
 
    for (int x = 0; Cuentas[x] < 1000000; x++) {
 
     n--;
 
     cout << n << endl;
 
    }
 
    cout << "Hay " << n << " espacios disponibles para crear cuentas" << endl;
 
}

Cuando corro el programa "n" baja de esta manera

2
1
0
-1
-2
-3

Y si cambio y en vez de mostrar el valor de n, que muestre el valor de cada espacio de "Cuentas" sale:

0
0
0
5
59
Otro valor

Por favor ayudenme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 22
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con array

Publicado por Héctor (17 intervenciones) el 04/06/2017 03:20:31
Ese programa no concuerda con la descripción hecha. Empezando porque genera errores en la compilación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfonso

Problema con array

Publicado por Alfonso (7 intervenciones) el 04/06/2017 18:59:20
No es que genere errores de compilacion, lo que tiene el programa es que el array NumCuentas esta fallando. Primero lo tenia con un pointer y a la hora de usarlo salian valores que el array no contenia. Despues y ahora me dice que tiene 6 valores en lugar de 6 que especifique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dionicio
Val: 168
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

re: Problema con array

Publicado por Dionicio (57 intervenciones) el 04/06/2017 19:24:16
Cuidado si estás tratando de acceder a espacios de memorias no correspondientes al array o estás tratando de acceder a espacios de memorias no inicializados en el array.

1
2
3
4
5
6
...
int array[3] = {1,2,};
 
cout<<array[2]; //Correcto aunque el tercer valor de array no existe este imprimirá un valor cualquiera ej. 1234234245
cout<<array[5]; //Incorrecto porque el vector solo cuenta con tres elementos
...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Ángel

Problema con array

Publicado por Miguel Ángel (3 intervenciones) el 04/06/2017 19:31:43
Hola Alfonso,

perdona mi ignorancia, no controlo mucho de c++ pero intento aprender justo en estos meses. De todas formas los arrays los tengo muy vistos (de otros lenguajes como java) , y creo que quiza pueda ayudarte. El problema es que no termino de entender tu codigo. No entiendo la condicion del bucle for. Por que le has puesto como condicion que mientras Cuentas[x] sea menor que 1 000 000, n=n-1?

De todas formas, supongo que lo que no te gusta ver es que haya mas elementos en el array de los que supuestamente tu has declarado anteriormente. Sin embargo creo que el problema podría estar en tu condicionamiento del for.

Aun asi seguire mirando el codigo, por que si es cierto que es extraño que te muestre esos valores. De todas formas contestame y seguire intentando ayudarte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Alfonso

Problema con array

Publicado por Alfonso (7 intervenciones) el 05/06/2017 03:49:32
Gracias amigo ahi justo estaba el problema! El problema era que no tenia que ser menor que o "<" mas bien era mayor que o ">" ¡Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar