Grupo de C++
Publico Grupo
Publico Grupo
Active 4 dias
Este grupo esta relacionado con nuestro curso profesional de C++. Aquí se comparten temas... View more
Publico Grupo
Duda con respecto al Ejemplo 3.- Arreglo con variable constante y cálculos.
Duda con respecto al Ejemplo 3.- Arreglo con variable constante y cálculos.
Posted by Víctor José Galarza Macías on 21 abril, 2020 en 6:11 pmHice los mismos pasos pero cuando corro el programa me sale esto
lo intente por otro compliador, el que da el https://www.onlinegdb.com/
y sale igual
Pero veo en su video, y sale todo bien, que alguien me ayude D:
Víctor José Galarza Macías respondido 4 años, 8 meses 3 Miembros · 16 Respuestas- 16 Respuestas
Pega el codigo en el compilador online para que podamos verlo
https://onlinegdb.com/rJDBk-aO8 ahi esta amigo
Vale, lo que intentas hacer al momento de realizar int tab[n] = {}, es para que el array internamente guarde 0 en todas sus posiciones no?
Si no lo haces para eso entonces no se para que es esa linea de codigo.
Por otra parte la condicion del primer for siempre sera true porque 1 siempre sera menor o igual que 9, entonces iterara infinitamente.Respecto a lo que dices en principio si, es que como segui en la leccion del video, el profesor coloco asi con los corchetes y dentro no coloco nada, para dar a entender que todo estara inicializado en cero, pero a el si le salio en el compilador DEV c++, y por otro lado lo ultimo que dijiste, si jaja, no me fije en esa parte, pero ya lo probe en el compilador online y si corrio, pero en el DEV, sigue saliendo el error en la parte de arriba en tab[n]={}
Me imagino que ya es problema del compilador, aunque sigo sin entender porque no sale, y en el del profesor si.
Vale, prueba hacerlo asi int tab[n] {};(sin el igual)
lo mismo sale
<div>Mmmm ya no se que pueda estar pasando, hay otra manera de inicializar todo el array en 0, pero eso se sale del tema en el que vas.
</div><div>Igualmente si no guardas 0 en todas sus posiciones al principio no pasara nada, espera la respuesta de @angel-sanchez el puede saber a que se debe el error.
</div>
sale con error variable-sized object ‘tab’ may not be initialized
Y como 1 nuca sera mayor o igual a 9 se crea un Bucle infinito.
Si jaja, pero dejando ese error, es el otro que sale
error-variable-sized-object-may-not-be-initialized
este error solo me sale en el dev c++, en el compilador online si sale bien
La explicación a ese “error” es un poco mas larga, pero vemos el tema en las clases que están próximas a salir, específicamente en el modulo de punteros > tema arreglos dinámicos.
Lo que se hace en ese ejemplo es un arreglo de longitud variable, esto quiere decir que el valor del tamaño del arreglo se conoce hasta cuando el programa esta en ejecución, específicamente cuando llegamos a la linea 10 y 11. El error te sale ya que tu compilador no tiene soporte para arreglos de longitud variable, así que tendrías que usar punteros (clases que están por salir) para crear tu arreglo dinámico.
Tu código y tu trabajo esta bien, el error fue mio por no comentar en ese video que en algunos compiladores podría fallar. Te recomiendo leer esto: https://es.stackoverflow.com/questions/65296/error-variable-sized-object-may-not-be-initialized y omitir ese ejercicio por el momento y seguir con el curso, y ya cuando llegues a los temas de punteros vas a entender mucho mejor esto.
¡Saludos!
AAA, yaya listo, no hay problema, pero bueno no se si sirva esto, pero intente arreglandolo asi en el dev c++
int tab[n];
y ahi si funcionó, aunque no se si eso que hice asi este bien hacerlo de ese modo.
Aunque con su explicación se entendio que es debido al compilador, entonces seguire con las demas lecciones, gracias
Inicia sesión para responder.