[C con Clase] Problemas con asignaciond el tamaño de un vector

Pablo PEC pablo06_cabj_ec en hotmail.com
Jue Nov 25 03:14:00 CET 2010


Muchisimas gracias! me funciono a la perfeccion. Muchisimas gracias por la solucion. A partir de ahora tengo que tner en cuenta esto.! Gracias!

Date: Thu, 25 Nov 2010 02:16:21 +0100
From: stevenrichard.davidson en gmail.com
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase]	Problemas con asignaciond el tamaño de un vector

Hola Pablo,


2010/11/25 Pablo PEC <pablo06_cabj_ec en hotmail.com>


Hola estoy haciendo un programa donde debo ingresar hasta 100 valores dentro de un vector.
Mi problema surgue cuando pido ingresar la cantidad de valores que se van a ingresar y lo guardo en una variable. Luego a esa variable la asigno como tamaño del vector.

El compilador me indica un error que dice:  ISO C++ forbids variable length array 'vector'
 
Como te indica el compilador, esto es un error. No puedes cambiar el tamaño máximo de elementos de un array (o vector). De hecho, el compilador DEBE conocer la cantidad exacta de elementos y por tanto, no puede haber variables.

 
Si quieres tener cantidades variables de elementos, entonces sugiero usar memoria dinámicamente adjudicada. Por ejemplo,
 
float *pVector;
...
pVector = new float[tama];
for( x=0; x<tama; x++ )
{
  cout << "ingrese numero";
  cin >> pVector[x];
}
...
delete[] pVector;
 
Recuerda que debes liberar la memoria que adjudicas dinámicamente cuando ya no la necesites. Típicamente, liberamos esta memoria justo antes de terminar el programa.
 
 
Otra solución es crear una cantidad máxima de elementos: 100, por ejemplo, y luego mantener una cantidad actual de elementos válidos. Por ejemplo,
 
float vector[100];
int nCantActual;
...

for( x=0; x<nCantActual; x++ )
{
  cout << "ingrese numero";
  cin >> vector[x];
}
 
 
Espero que esto te ayude.
 
Steven
 

_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20101124/9c378e79/attachment.html>


Más información sobre la lista de distribución Cconclase