Hola Pablo,<br><br>
<div class="gmail_quote">2010/11/25 Pablo PEC <span dir="ltr"><<a href="mailto:pablo06_cabj_ec@hotmail.com">pablo06_cabj_ec@hotmail.com</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div>Hola estoy haciendo un programa donde debo ingresar hasta 100 valores dentro de un vector.<br>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.<br>
El compilador me indica un error que dice:  ISO C++ forbids variable length array 'vector'</div></blockquote>
<div> </div>
<div>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.</div>

<div> </div>
<div>Si quieres tener cantidades variables de elementos, entonces sugiero usar memoria dinámicamente adjudicada. Por ejemplo,</div>
<div> </div>
<div>float *pVector;<br>...</div>
<div>pVector = new float[tama];</div>
<div>for( x=0; x<tama; x++ )<br>{<br>  cout << "ingrese numero";</div>
<div>  cin >> pVector[x];<br>}</div>
<div>...</div>
<div>delete[] pVector;</div>
<div> </div>
<div>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.</div>
<div> </div>
<div> </div>
<div>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,</div>
<div> </div>
<div>float vector[100];</div>
<div>int nCantActual;</div>
<div>...</div>
<div>
<div>for( x=0; x<nCantActual; x++ )<br>{<br>  cout << "ingrese numero";</div>
<div>  cin >> vector[x];<br>}</div></div>
<div> </div>
<div> </div>
<div>Espero que esto te ayude.</div>
<div> </div>
<div>Steven</div>
<div> </div></div>