Progamme c++ moitié gauche du diamant en etoile

Résolu
kamikaz86 - 19 nov. 2012 à 21:06
 kamikaz86 - 22 nov. 2012 à 04:19
après avoir demander de faire un programme qui affiche un diamant et les deux moitie gauche et droite de diamant.j'ai trouver le diamant et la partie droite mais j'ai pas trouver une solution exacte pour La moitié gauche du diamant en étoile.
mon code pour le diamant :
#include 
using namespace std;
int main()
    {    
         const int LigneTot=4;   
         int i,j;
       
       
         for(i=1;i<=LigneTot;i++) {
               for(j=1;j<=(LigneTot-i);j++) cout <<' ' ;
               for(j=1;j<=(i+i-1);j++) cout <<"*" ;

               cout<<'\n' ;
         }

          for(i=3;i>=0;i--) {
               for(j=1;j<=(LigneTot-i);j++) cout <<' ' ;
               for(j=1;j<=(i+i-1);j++) cout <<"*" ;

               cout<<'\n' ;
         }
       
         
         return 0;
    }

je veux que quelqu'un m'aide, merci d'avance.
A voir également:

4 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
20 nov. 2012 à 10:41
Bonjour ?

Merci de préciser le problème. Actuellement, tu n'expliques pas quel est ton souci...

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
21 nov. 2012 à 17:31
Salut,

je ne te donnes pas ce que tu demandes mais une autre façon de faire, on dessine la gauche, puis le centre, puis la droite du diamant en jouant sur la "dernière largeur" dessinée.
Avec la taille paramétrable et le choix d'affichage 'T'out, 'G'auche ou 'D'roite :

const int MAX_HAUTEUR = 14;				/*Taille modifiable*/
const int MAX_LARGEUR = MAX_HAUTEUR;	/*Largeur toujours égale à la hauteur*/
const char cAffiche = (char)219;		/*Caractère d'affichage*/
const char cAfficheEmpty = (char)176;	/*Caractère "vide" (arriere plan)*/
const int LG_DIV_2 = MAX_LARGEUR/2;		/*Sert souvent*/
int nLastLg = MAX_LARGEUR/2;			/*La "dernière" largeur dessiné*/
char afficheQuoi = 'T';					/*T=tout, D=droite, G=gauche*/
int j;

for(int lig=0; lig<=MAX_HAUTEUR; lig++)
{
/*vide à gauche*/
for(j=0; j<nLastLg && j<(afficheQuoi != 'G' ? MAX_LARGEUR : LG_DIV_2); j++)	
cout << (afficheQuoi=='D' ? ' ' : cAfficheEmpty);

/*remplissage*/
for(int k=0; k<((LG_DIV_2 - nLastLg)+1) * (afficheQuoi != 'G' ? 2 : 1); k++) 
cout << (afficheQuoi=='D' && k<((LG_DIV_2 - nLastLg)+1) ? ' ' : cAffiche);

/*vide à droite*/
for(int l=0; l<j; l++) 
cout << (afficheQuoi != 'G' ? cAfficheEmpty : ' ');

if( lig == MAX_HAUTEUR/2 )	/*Si arrive au milieu, change de sens*/
nLastLg = 1;
else if(lig < MAX_HAUTEUR/2 )
nLastLg--;
else
nLastLg++;	

cout << endl;
}



bye...
3
j'aime bien de amélioré ce programme pour avoir la moitie gauche d'un diamant


[list]

*
***
*****
*******
*****
***
*


/list
0
merci pour l'aide.
0
Rejoignez-nous