fbpx

Responder a: Ayuda con ejercicio externo

  • Angel Sánchez

    organizador
    13 junio, 2020 en 8:28 pm

    Aquí te dejo el problema en C++, solo para lo que analices (Adjunto archivo .cpp).

    La clave esta saber cuantos ladrillos están usando y cuantos te faltarían para hacer otra linea de ladrillos. Mira esta linea (imagina que decimos que tenemos 7 ladrillos);

    restantes = ladrillos - (suma + (nivel + 1)); 

    La variable nivel muestra cuantos ladrillos hay por nivel, es fácil ya que iniciamos con 1 y se le va sumando 1 cada vuelta. Así que nivel es:

    nivel = nivel + 1;

    Después usamos la variable suma, que va sumando el nivel pasado con el nuevo nivel para ir viendo cuantos ladrillos llevamos usados:

    suma = suma + nivel;

    Ahora podemos saber cuantos ladrillos nos quedarían si damos otra vuelta, para esto solo a ladrillos (dijimos que 7) le restamos el numero de ladrillos que tendríamos usados en la próxima vuelta (suma + (nivel + 1), si nos da un resultado negativo esto quiere decir que nos faltan ladrillos para dar otra vuelta, así que ahí termina el problema. La condición del while es while(restantes>=0):

    restantes = ladrillos - (suma + (nivel + 1)); 

    Aquí el código completo:

    #include<iostream>

    using namespace std;

    int main(){
    int ladrillos = 0, nivel=0, suma=0, restantes = 0, i=0;

    cout<<"Numero de ladrillos: ";
    cin>>ladrillos;
    cout<<endl;
    while(restantes>=0){
    nivel = nivel + 1;
    suma = suma + nivel;
    restantes = ladrillos - (suma + (nivel + 1)); //Muestra cuentos ladrillos te quedan si haces otra vuelta.
    cout<<"Ladrillos en el nivel: "<<nivel<<" - Ladrillos usados hasta ahora "<<suma<<endl;

    if(restantes<0){
    cout<<endl<<"Fin: Te faltan ladrillos para otra vuelta."<<endl<<endl;
    }
    i++;
    }
    restantes = ladrillos - suma;
    cout<<"Numero de niveles: "<<i<<endl;
    cout<<"Ladrillos restantes: "<<restantes;
    }

    Si te fijas todo lo que usamos en el problema son cosas simples, en realidad lo que nos cuesta es analizar, y esta es la clave de la programación. Ser programador es tener la capacidad de resolver problemas que después transcribimos en código. Si desarrollas bien tu análisis vas a ser un buen programador. Échale muchas ganas, y aquí estamos para apoyarlos.