Losange

Fermé
dav1994 Messages postés 20 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 18 août 2015 - Modifié par jordane45 le 18/08/2015 à 01:14
lefilsdelaterre Messages postés 11 Date d'inscription vendredi 21 août 2015 Statut Membre Dernière intervention 27 août 2015 - 22 août 2015 à 00:53
Bonjour,

Je dois écrire un algorithme qui permet de dessiner un losange

Le problème c'est que je n'arrive pas à faire afficher correctement la partie du dessous

http://image.noelshack.com/fichiers/2015/34/1439846537-losange.png

#include <iostream>
using namespace std;
 
int main()
{
    int n;
    int i, j;
    cout << "Nbr de lignes : ";
    cin >> n;
    for (i = 1; i <= n; i = i + 1)
    {
        for (j = 1; j <= n - i; j = j + 1)
            cout << " ";
        for (j = 1; j <= 2 * i - 1; j = j + 1)
            cout << "*";
        cout << endl;
    }
    for (i = 1; i <= n; i = i + 1)
    {
        for (j = 4; j >= n - i; j = j - 1)
            cout << " ";
        for (j = 4; j >= 2 * i - 1; j = j - 1)
            cout << "*";
        cout << endl;
    }
    return 0;
}



EDIT : Correction des balises de code (il faut placer le code dedans.... )

1 réponse

lefilsdelaterre Messages postés 11 Date d'inscription vendredi 21 août 2015 Statut Membre Dernière intervention 27 août 2015 1
Modifié par NHenry le 22/08/2015 à 11:50
Ça devrait marcher :

#include <iostream>
using namespace std;
 
int main()
{
    int n;
    int i, j;
    cout << "Nbr de lignes : ";
    cin >> n;
    for (i = 1; i <= n; i = i + 1)
    {
        for (j = 1; j <= n - i; j = j + 1)
            cout << " ";
        for (j = 1; j <= 2 * i - 1; j = j + 1)
            cout << "*";
        cout << endl;
    }

    for (i = n-1; i >= 1; i = i - 1)
    {
        for (j = 1; j <= n - i; j = j + 1)
            cout << " ";
        for (j = 1; j <= 2 * i - 1; j = j + 1)
            cout << "*";
        cout << endl;
    }

    return 0;
}


Il suffit d'utiliser exactement le même code pour la deuxième partie, mais de balayer les lignes en sens inverse.
la deuxième boucle commence à n-1 et non à n pour éviter de recommencer la plus grande ligne.

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0