C/Visual C - Crear arreglo

 
Vista:

Crear arreglo

Publicado por Juan Carlos (14 intervenciones) el 08/02/2005 23:52:29
Me podrian explicar de que forma puedo crear un arreglo en el cual pueda almacenar n numeros, es decir, que yo al ejecutar el programa determine la cantidad de números a almacenar.
Gracias.
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

RE:Crear arreglo

Publicado por chuidiang (677 intervenciones) el 09/02/2005 08:23:33
Tienes que usar punteros. Si los numeros son enteros, haz asi

int *array;

cuando sepas el número de números, por ejemplo N, haz esto

array = malloc (N * sizeof(int)); /* Esto es para C */
array = new int [N]; /* Esto es en C++ */

Una vez que hayas terminado de usar el array, debes liberarlo, porque si no tu programa se ira "comiendo" memoria.

free (array); /* Esto en C */
delete [] array; /* Esto en C++ */

Se bueno.
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

RE:Crear arreglo

Publicado por Juan Carlos (14 intervenciones) el 13/02/2005 05:04:46
Gracias por tu ayuda, pero tengo un problema, cuando voy a capturar los valores, nunca me permite capturar la cantidad de valores que yo le dije, este es el código que hice.

#include <iostream.h>

void main()
{
int *array;
int i;
int a;

cout << "Tamaño del vector? "; cin >> i;

array = new int[i];

for(a=0; a<=i; a++)
{
cin >> array[a];
a++;
}

cout << "Los datos introducidos son..." << endl;
for(a=0; a<=i; a++)
{
cout << array[a] << ", ";
a++;
}

delete [] array;

}

Te agradesco tu ayuda, espero que me puedas volver a a yudar.
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

RE:Crear arreglo

Publicado por chuidiang (677 intervenciones) el 13/02/2005 22:12:07
Hola:

Hay varios temas

El primero es que si haces new int [10], tienes 10 valores, numerados de 0 a 9. Los bucles para recorrerlos deben ser
for (a=0; a<10; a++)
es decir < en vez de <=

Otra es que el for ya pones a++, no hace falta ponerlo al final.

Si quieres que el usuario introduzca 10 caracteres, debes reservar espacio para 11. Las cadenas de caracteres se tarminan automáticamente con un caracter nulo al que también hay que reservar espacio. Por ejemplo, para metero "Hola" en un array, necesitas 5 caracteres, los cuatro de "Hola" y un caracter nulo al final.

Se bueno.
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

RE:Crear arreglo

Publicado por Juan Carlos (1 intervención) el 13/02/2005 22:25:41
Muchas gracias, no se como pude haber sido tan torpe, el problema era que estaba poniendo a++, y como me dices, eso ya esta en el for.
Listo, ya me funciona bien.
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