Affichage d'un Triangle d'étoiles [Résolu]

Messages postés
3
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
23 novembre 2009
- - Dernière réponse :  zizo - 17 nov. 2015 à 21:42
Bonjour a tous, voila je cherche a afficher un triangle d'étoiles, on lit n au clavier et on affiche n lignes d'étoiles, la première contenant une, la deuxième deux..... mais pour les colonnes la nième colonne contient n étoile et lavant dernière n-1....,j'ai fais un petit programme qui tourne bien mais !!:

class triangle {
  public static void main(String[] args){
                 int n = Integer.parseInt(args[0]);
                 for(int i=n; i>0; i--){
                	 for(int j=0; j<=n-i; j++){
                	 System.out.print("*");
                	 }
                	 System.out.println("");
                }
  }
}

mais ce programme m'affiche ça : pour n=5 par exemple
*
**
***
****
*****

et ce qui est demander dans mon exercice c'est plutôt ça: pour n=5 par exemple
    *
   **
  ***
 ****
*****

merci de bien vouloir m'aider a trouver l'astuce de cet affichage
Afficher la suite 

6 réponses

Messages postés
3
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
23 novembre 2009
0
Merci
Merci danimo pour votre réponse, ça marche parfaitement. moi je pensais que fallait juste jouer avec les deux boucles imbriquées for i et for j. je sais pas si c'est faisable avec seulement deux boucles? mais ça reste une solution juste encore merci
Commenter la réponse de sahadi2002
0
Merci
Je suis certain qu'il y a d'autres solutions que ma bidouille adaptée à ce que tu avais programmé...

Cordialement,

...\ Dan /...
Commenter la réponse de Utilisateur anonyme
0
Merci
Ps,

Tu peux aussi essayer ceci que j'ai oublié de te donner:

         for(int i = n; i > 0; i--)
         {
            for(int ii = 0; ii < i-1; ii++)
            {
               blancs = blancs + " ";
            }
            
            for(int j = 0; j <= n-i; j++)
            { 
               System.out.print(blancs + "*");
               blancs = "";
            }
            
            for(int j = 1; j <= n-i; j++)
            { 
               System.out.print("*");
            }
            System.out.println("");
         }


et qui est la combinaison de ce que tu avais avec ce que tu as maintenant et qui peut t'intéresser.

...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Messages postés
3
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
23 novembre 2009
0
Merci
Encore merci pour tes réponses ça ma bcp aider.
Commenter la réponse de sahadi2002
Messages postés
40
Date d'inscription
jeudi 29 mai 2008
Statut
Membre
Dernière intervention
7 mai 2015
0
Merci
Bonjour,
essaie plutot ca:



import java.util.Scanner;


public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
    int x, i,j;
          System.out.println("Rentrez le nombre de lignes du triangle :");
          Scanner sc = new Scanner(System.in);
          x = sc.nextInt();
          for(i=1;i<x+1;) {
              for(j=0;j<i;j++) {
               System.out.print("*");
              }
              i++;
              System.out.println("");
               
              
              }
          }
 }
Whismeril
Messages postés
13646
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 août 2019
298 -
Bonjour, merci pour cette contribution, bien que la question soit résolue depuis 5 ans.
Par contre merci d'utiliser la coloration syntaxique, voir ici.
Commenter la réponse de kongraoul
-1
Merci
Salut,
Tu peux faire ceci:
public static void main(String[] args)
      {
         String blancs = "";
         int n = Integer.parseInt(args[0]);
         for(int i = n; i > 0; i--)
         {
            for(int ii = 0; ii < i-1; ii++)
            {
               blancs = blancs + " ";
            }
            for(int j = 0; j <= n-i; j++)
            { 
               System.out.print(blancs + "*");
               blancs = "";
            }
            System.out.println("");
         } 
      }


Cordialement,


...\ Dan /...
cette n'a pas ete valide avec moi
Commenter la réponse de Utilisateur anonyme