![](https://www.azulschool.net/wp-content/uploads/buddypress/groups/10/cover-image/5db2cb3c0588b-bp-cover-image.jpg)
![Logotipo de grupo de Grupo de Python](https://www.azulschool.net/wp-content/uploads/group-avatars/10/5db2cb021b139-bpfull.png)
Grupo de Python
Publico Grupo
Publico Grupo
Active 3 semanas
Este grupo esta relacionado con nuestro curso profesional de Python. Aquí se comparten temas generales... View more
Publico Grupo
Responder a: Ayuda con ejercicio externo
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.