<div dir="ltr">Todo proceso, al cargarse en la memoria para ser ejecutado, necesita saber de antemano la cantidad de memoria que utilizará. Esta cantidad de memoria se cuenta con números naturales, como se cuentan las personas. Hay 4 personas, 5, 6, etc, pero nunca habrá 6.3 personas. Con la cantidad de memoria pasa algo parecido. Cada programa, cuando se carga en la memoria principal pasa disponer de recursos  para su ejecución. Entre esos recursos se cuentan espacios de la memoria donde se alojan las instrucciones del programa, otro sector para los datos además de otros espacios donde se almacenan en forma temporal algún resultado intermedio. Esto es así porque un proceso (programa en ejecución) comparte el procesador con otros procesos que compiten por el mismo. El planificador de procesos otorga turno a cada proceso para que haga su trabajo, pero ese turno consiste en una pequeña fracción de segundos tras lo cual debe ceder el procesador a otro proceso. Normalmente un procesos pasa por tres estados antes de terminar la tarea (en ejecución, bloqueado, en espera). Al momento de cargarse en la memoria el procesos debe contar con los recursos para su ejecución.<div>Como ya te han respondido varios, no puedes tener una variable para definir el tamaño de un array, menos aún, que sea de tipo float.</div><div>Si quieres que funciones debes hacer algo parecido a esto</div><div><br></div><div>const int tamA=20;</div><div>const int tamB=10;</div><div><br></div><div>luego, en el programa usar algo como</div><div><br></div><div>float c[tamA][tamB];</div><div><br></div><div>Si de todas formas, no sabes la cantidad de memoria que requiere tu programa porque se supone que ese datos se conoce recién en tiempo de ejecución, lo correcto es utilizar memoria dinámica.</div><div><br></div><div>En C suele utilizarse malloc y free para reservar y liberar memoria en tiempo de ejecución. En C++ se utilizan los operadores new (para reservar) y delete (para liberar). Se desaconseja utilizar memoria dinámica de entrada para aprender a utilizar array, me parece que esto se debería dar es una etapa posterior.</div><div><br></div><div>Espero te aclare las dudas. A propósito, te dejo el enlace del curso donde trata las memoria dinámicas, pero insisto que no es conveniente empezar por allí.</div><div><br></div><div><a href="http://c.conclase.net/curso/index.php?cap=013b#OP2_NewDelete">http://c.conclase.net/curso/index.php?cap=013b#OP2_NewDelete</a></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 16 de octubre de 2014, 14:04, Samuel Díaz García <span dir="ltr"><<a href="mailto:samueldg@arcoscom.com" target="_blank">samueldg@arcoscom.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Si es C++ busca información sobre el template array o alguno de esos, te pueden a ayudar a que sea un array dinámico en tiempo de ejecución sin necesidad de quebrarte.<br>
<br>
Ahora bien, las alternativas estándares como malloc, alloc, etc.... siempre han funcionado, funcionan y seguirán funcionando muy bien.<br>
<br>
Salu2<br>
<br>
El 16/10/14 16:49, d1cor escribió:<div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, 16 Oct 2014 15:31:28 +0200<br>
marcelinux <<a href="mailto:marcelinator@gmail.com" target="_blank">marcelinator@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
j> ><br>
j> > float a;<br>
j> > float b;<br>
j> ><br>
j> > float c[a][b];<br>
j> ><br>
j> > al compilar el código me sale el siguiente error: [Error] size of array<br>
j> > 'c' has non-integral type 'float'<br>
j> ><br>
<br>
Además, a y b tienen que se constantes.<br>
Mira: <a href="http://c.conclase.net/curso/index.php?cap=010#inicio" target="_blank">http://c.conclase.net/curso/<u></u>index.php?cap=010#inicio</a><br>
Donde dice: Otro detalle muy importante es que cuando se declaran arrays, los valores para el número de elementos deben ser siempre<br>
constantes enteras. Nunca se puede usar una variable para definir el tamaño de un array.<br>
</blockquote>
<br>
Lo dicho, agrego como dato adicional que los arreglos, como las variables, de definen en tiempo de compilación, y es por ello que ya deben poseer dimensiones fijas.<br>
<br>
Si lo que estás necesitando es que el arreglo sea definido en tiempo de ejecución, por ejemplo, para que sus dimensiones sean ingresadas por el usuario durante la ejecución del proceso, no podés utilizar arreglos, deberías utilizar asignación dinámica de memoria (malloc, calloc, realloc, free) y utilizar punteros de un determinado tipo dependiendo de tus necesidades, con el fin de poder moverte, mediante aritmética de punteros, por tu región reservada dinámicamente.<br>
<br>
Espero que sume.<br>
Slds a todos!<br>
<br>
------------------------------<u></u>------------------------------<u></u>----------<br>
Ing. Diego Cordoba<br>
GNU/Linux Instructor & Consultant<br>
CLA Carrera Linux Argentina<br>
LPI Linux Certified Professional<br>
<a href="http://www.carreralinux.com.ar" target="_blank">www.carreralinux.com.ar</a> - <a href="http://www.diegocordoba.tk" target="_blank">www.diegocordoba.tk</a><br>
------------------------------<u></u>------------------------------<u></u>----------<br>
<br>
______________________________<u></u>_________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/<u></u>mailman/listinfo/cconclase_<u></u>listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/<u></u>index.php?gid=2&mnu=FAQ</a><br>
<br>
</blockquote>
<br></div></div>
-- <br>
Samuel Díaz García<br>
ArcosCom Wireless, S.L.U.<br>
<br>
CIF: B11828068<br>
Plaza de las Aguas, 2<br>
11630 - Arcos de la Frontera<br>
Cadiz<br>
<br>
<a href="http://www.facebook.com/ArcosComWireless" target="_blank">http://www.facebook.com/<u></u>ArcosComWireless</a><br>
mailto:<a href="mailto:samueldg@arcoscom.com" target="_blank">samueldg@arcoscom.com</a><br>
<br>
Móvil: 678 17 66 12<br>
Tlfn.: 956 70 13 15<div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/<u></u>mailman/listinfo/cconclase_<u></u>listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/<u></u>index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br></div>