bonjour tout le monde, je dois afficher un losange avec des �toiles en c++, est que je peux avoir votre aide svp, l'utilisateur doit entrer la hauteur du losange qui doit �tre impair. merci de me donner quelques indications
Version imprimable
bonjour tout le monde, je dois afficher un losange avec des �toiles en c++, est que je peux avoir votre aide svp, l'utilisateur doit entrer la hauteur du losange qui doit �tre impair. merci de me donner quelques indications
Tu connais la boucle for, tu connais cout ?
Si oui il te suffit de trouver la formule math�matique qui permet de calculer le nombre d'espace a ins�rer a chaque ligne avant les �toiles.
c'est un peu vague, tu peux �tre plus explice stp?
Tu veux afficher quelque chose comme �a, non ?
Pour chaque ligne tu affiche donc un certain nombre d'espace + un certain nombre d'�toiles.Code:
1
2
3
4
5 * *** ***** *** *
Il faut donc calculer ces nombre pour chaque ligne.
Tu as donc la hauteur n=5
Premierement tu dois faire une boucle pour afficher
Tu fais une boucle de i=1 a n/2+1=3Code:
1
2
3 1. * 2. *** 3.*****
tu affiches n-i-2 espaces
tu affiche n - 2*(i+1) etoiles
c'est un losange pas plein que je dois afficher, que les �toiles autour...
voici ce que j'ai fais mais il n'affiche pas la derniere branche...
#include <iostream.h> // librairie I/O
main()
{
int hauteur,j;
cout << "Entrez une hauteur" << endl;
cout << "hauteur =";
cin >> hauteur;
for (int i = 0; i < hauteur; i++)
{
for (int j =1; j<hauteur-i; j++)
cout<<" ";
cout<<"*";
cout<<endl;
for (int k= 0;k<hauteur+ i; k++)
cout<<" ";
cout<<"*";
cout<<endl;
}
for (int i=0; i<hauteur ;i++)
{
for (int j=hauteur; j< hauteur+i; j++)
cout<<" ";
cout<<"*";
cout<<endl;
}
} // end main
ps: je viens a peine de commencer le c++
Tiens voil� le d�but
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #include <iostream> // librairie I/O int main(void) { int hauteur,j; std::cout << "Entrez une hauteur" << std::endl; std::cout << "hauteur ="; std::cin >> hauteur; for (int i = 1; i <= (hauteur/2)+1; i++) { for (int j=0; j<hauteur-i-2; j++) std::cout<<" "; std::cout<<"*"; if (i != 1) { for (int k= 0;k< 2*(i-1)-1; k++) std::cout<<" "; std::cout<<"*"; } std::cout<<std::endl; } // [...] } // end main
merci, je vais essay� de le comprendre et le terminer...
#include <iostream> // librairie I/O
int main(void)
{
int hauteur,j;
cout << "Entrez une hauteur" << endl;
cout << "hauteur =";
cin >> hauteur;
for (int i = 1; i <= (hauteur/2)+1; i++)
{
for (int j=0; j<hauteur-i-2; j++)
cout<<" ";
cout<<"*";
if (i != 1)
{
for (int k= 0;k< 2*(i-1)-1; k++)
cout<<" ";
cout<<"*";
}
cout<<endl;
}
for (int i = 1; i <= (hauteur/2)+1; i++)
{
for (int k= 0;k< 1*(i)+1; k++)
cout<<" ";
cout<<"*";
if (i != 0)
{
for (int j=0; j< hauteur-2*i; j++)
cout<<" ";
cout<<"*";
}
cout<<endl;
}
} // end main
j'ai essay�, mais le r�sultat n'est tout � fait satisfaisant, tu peux m'aider � le corriger stp?