- Tout l’intérêt de l’exercice réside dans la recherche de la relation entre le numéro de ligne et le nombre d’espaces et d’étoiles. Si i est le numéro de ligne, commençant à 0, et
lignesle nombre de lignes, le nombre d’espaces est donné parlignes-i-1et le nombre d’étoiles par2*i+1
void dessine_etage(int lignes)
{
for (int i = 0; i < lignes; i++)
{
for (int j = 0; j < lignes - i - 1; j++)
cout << " ";
for (int j = 0; j < i * 2 + 1; j++)
cout << "*";
cout << endl;
}
}2-Pour obtenir le même dessin que sur l’énoncé, il faut décaler les étages du sapin en ajoutant des espaces supplémentaires. Une solution consiste à légèrement modifier la fonction dessine_etageen lui ajoutant un paramètre spécifiant le nombre d’espaces supplémentaires.
#include
using namespace std;
void dessine_etage(int lignes, int espaces)
{
for (int i = 0; i < lignes; i++) {
for (int j = 0; j < espaces + lignes - i - 1; j++)
cout << " ";
for (int j = 0; j < i * 2 + 1; j++)
cout << "*";
cout << endl;
}
}
int main(int argc, char **argv) {
dessine_etage(2, 2);
dessine_etage(3, 1);
dessine_etage(4, 0);
dessine_etage(1, 3);
return 0;
}