Exercice langage C: Fonctions double
Rédigé par GC Team, Publié le 17 Mars 2012, Mise à jour le Samedi, 17 Décembre 2022 21:481. Ecrivez une fonction qui affiche un triangle d'étoiles, et qui prend en paramètre le nombre de lignes du triangle:
* *** *****
2. Utilisez cette fonction pour afficher un sapin:
* *** * *** ***** * *** ***** ******* *
Vous devrez certainement modifier un peu la fonction écrite au point 1) afin que votre sapin ressemble à celui dessiné ci-dessus.
1. 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 lignes
le nombre de lignes, le nombre d'espaces est donné par lignes-i-1
et le nombre d'étoiles par 2*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éntaires. Une solution consiste à légèrement modifier la fonction dessine_etage
en 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;
}