fbpx

Duda con respecto al Ejemplo 3.- Arreglo con variable constante y cálculos.

Etiquetado: , ,

  • Santiago Alferez

    Miembro
    21 abril, 2020 en 6:16 pm

    Pega el codigo en el compilador online para que podamos verlo

  • Santiago Alferez

    Miembro
    21 abril, 2020 en 6:26 pm

    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.

    • Víctor José Galarza Macías

      Miembro
      21 abril, 2020 en 6:30 pm

      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]={}

      • Víctor José Galarza Macías

        Miembro
        21 abril, 2020 en 6:32 pm

        Me imagino que ya es problema del compilador, aunque sigo sin entender porque no sale, y en el del profesor si.

      • Santiago Alferez

        Miembro
        21 abril, 2020 en 6:33 pm

        Vale, prueba hacerlo asi int tab[n] {};(sin el igual)

        • Víctor José Galarza Macías

          Miembro
          21 abril, 2020 en 6:40 pm

          lo mismo sale

          • Santiago Alferez

            Miembro
            21 abril, 2020 en 6:47 pm

            <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>

        • Víctor José Galarza Macías

          Miembro
          21 abril, 2020 en 6:43 pm

          sale con error variable-sized object ‘tab’ may not be initialized

  • Angel Sánchez

    organizador
    21 abril, 2020 en 7:06 pm

    A veces los errores son mas simples de lo que esperamos. Hay un error de dedo, pusiste 1 en vez de i.

    • Angel Sánchez

      organizador
      21 abril, 2020 en 7:09 pm

      Y como 1 nuca sera mayor o igual a 9 se crea un Bucle infinito.

    • Víctor José Galarza Macías

      Miembro
      21 abril, 2020 en 7:09 pm

      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

    • Víctor José Galarza Macías

      Miembro
      21 abril, 2020 en 7:11 pm

      Este se trata por causa del arreglo

  • Angel Sánchez

    organizador
    21 abril, 2020 en 7:25 pm

    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!

    • Víctor José Galarza Macías

      Miembro
      21 abril, 2020 en 7:35 pm

      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.

Start of Discussion
0 de 0 respuestas Junio 2018
Ahora