IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Comment imprimer un triangle dans une boucle (exercice en anglais)


Sujet :

Langage Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Comment imprimer un triangle dans une boucle (exercice en anglais)
    Nom : pattern_ex.jpg
Affichages : 2025
Taille : 133,7 KoBonjour a tous,

    Je suis complètement débutant dans l'apprentissage de Java et j'essaye de faire cet exercice en anglais. (je suis actuellement aux US)
    J'ai effectué la 1er partie qui est demandé, c'est a dire; le type de motif que l'utilisateur veut ( ex: triangle puis hauteur ) mais je n'arrive pas a trouver comment imprimer le losange et le v-shape.Pièce jointe 158745Pièce jointe 158745Pièce jointe 158745
    Si quelqu’un qui comprend l'anglais et qui est dispose a m'aider ça serait vraiment cool merci beaucoup!!
    l'énoncé de l'exercice en anglais (désolé) est en PJ:

    voici ce que j'ai fais jusqu'ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    public class test {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
     
     
    				int height; 
    				int whichPattern;
     
    	//public void running(){
     
    	Scanner sc = new Scanner(System.in);
     
    	System.out.println("which pattern do you want(1/2/3)?: 1: triangle; 2: diamond; 3: V-shape");
    	whichPattern = sc.nextInt();
     
    	System.out.print("Please input the height: ");
    	height = sc.nextInt();
     
    	System.out.println();
    	if(whichPattern == 1)
    		trianglePrint(height);
    	else if (whichPattern == 2)
    		diamondPrint(height);
    	else
    		vPrint(height);
    }
     
    	public static void trianglePrint(int height){
     
    		for(int i = 0; i<height; i++){
     
    			for(int s=0; s<height-i; s++){
    		    System.out.print(" ");

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si j'ai bien compris tu as réussi à faire le triangle (ton code n'est pas complet...) et tu ne parviens pas à faire le losange et l'autre forme ? On voit immédiatement que le losange est simplement l'assemblage de 2 triangles identiques (quasiment en fait, parce que la ligne médiane ne doit pas se répéter) par symétrie : si tu peux afficher le triangle supérieur, tu peux alors afficher le triangle inférieur en utilisant la même méthode, mais en inversant (normalement, pour afficher le triangle, tu fais varier le nombre d'astérisques , en incrémentant à chaque ligne : donc pour inverser, il faudra décrémenter à chaque ligne..., pour le nombre d'espaces à gauche, qui varie aussi, mais en décrémentant, c'est pareil, ça s'inverse...donc on va obtenir une incrémentation).

    Pour la "V-Shape", la forme en V, ça va être la même idée, sauf que là, les deux triangles sont situés sur les mêmes lignes : il ne faut donc pas faire le traitement de l'un après le traitement de l'autre, mais les deux en même temps, entrelacé : 1 ligne du triangle de gauche, 1 ligne du triangle de droite, etc... (le nombre d'astérisque est le même pour les 2 triangles, le nombre d'espaces également, simplement c'est l'ordre entre espaces et astérisques qui s'inversent entre les 2 triangles, pour chaque ligne.

    En résumé toutes ces formes s'affichent dans une boucle qui fait varier un nombre d'espaces et d'astérisques, et qui les affiche dans un ordre particulier.

    A noter : voir cette discussion similaire.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    oui je comprends le concept mais je n'y arrive pas..

    pour le triangle j'ai tape ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void trianglePrint(int height){
     
    		for(int i = 0; i<height; i++){
     
    			for(int s=0; s<height-i; s++){
    		    System.out.print(" ");
     
    		       }
    		              for (int k=0; k<2*i-1; k++){
    		              System.out.print("*");
    		              }
    		              System.out.println();
    		 }
    est-ce que je dois le faire en 2 partie c'est a dire refaire la première partie du triangle puis le refaire en sens contraire? Peux-tu me donner juste la 1er ligne stp car je coince carrement

    Merci de prendre le temps de m'aider

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Pour faire ta boucle, tu as écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = 0; i < height; i++) {
    Essayes d'inverser le sens de progression de la boucle en changeant cette ligne en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = height; i >=0; i--) {
    tu verras que ton triangle aura la pointe en bas.

    Donc si à la suite, tu mets le code que tu as fait, puis le même, avec cette boucle inversée, et tu auras les 2 triangles l'un après l'autre, qui formeront un losange.

    A noter, qu'avec ta solution, il y a une ligne vide au début. Pour supprimer cette ligne vide, il suffit de modifier la boucle de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = 1; i < height; i++) {
    et, en conséquence, la seconde, pour le triangle inversé, en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = height; i >0; i--) {
    Donc le code du losange devient, tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    public static void trianglePrint(int height) {
     
       for (int i = 1; i < height; i++) {
          for (int s = 0; s < height - i; s++) {
             System.out.print(" ");
          }
          for (int k = 0; k < 2 * i - 1; k++) {
             System.out.print("*");
          }
          System.out.println();
       }
     
    }
     
    public static void diamondPrint(int height) {
     
       trianglePrint(height);
     
       for (int i = height; i > 0; i--) {
     
          for (int s = 0; s < height - i; s++) {
              System.out.print(" ");
          }
          for (int k = 0; k < 2 * i - 1; k++) {
              System.out.print("*");
          }
          System.out.println();
       }
     
    }
    On pourrait factoriser, mais je n'ai pas l'impression que cela soit l'objet de l'exercice (à toi de voir) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public static void trianglePrint(int height) {
     
        for (int i = 1; i < height; i++) {
            printLine(height, i);
        }
     
    }
     
    public static void diamondPrint(int height) {
     
        trianglePrint(height);
     
        for (int i = height; i > 0; i--) {
           printLine(height, i);
        }
     
    }
     
    private static void printLine(int height, int i) {
       for (int s = 0; s < height - i; s++) {
          System.out.print(" ");
       }
       for (int k = 0; k < 2 * i - 1; k++) {
           System.out.print("*");
       }
       System.out.println();
    }

    Pour la V-shape, essayes de changer les "*" en " ", et les " " en "*", tu pourras surement entrevoir la solution...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    1000 Milliard de merci Joel pour ton aide, je commence a comprendre le concept des boucles "for" avec tes explications!!!

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bon l'euphorie a vite fait place au doute de nouveau...j'essaye de suivre tes conseils pour la figure en forme de V et j'ai changé les les "*" en " ", et les " " en "*" mais je me bloque a la moitie du chemin comme d'habitude
    voici ce que j'ai saisi pour le VPrint:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static void VPrint(int height) {
    for (int i = 8; i > 0; i--) {
     
    		      for (int s = 0; s < 8 - i; s++) {
    		    	  System.out.print("*");
    		          		      }
    		      for (int k = 0; k < 2 * i - 1; k++) {
    		    	  System.out.print(" ");
    		      }
    		      System.out.println();
    		   }
    	}

    Peux;tu me dire stp ou je dois completer et surtout pourquoi? ca me frustre tellement de ne pas maitriser les boucles et l'impression de figures tres simples!!

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Une boucle for, c'est simplement un moyen de répéter l'exécution d'un bloc de code, avec un contrôle de boucle en trois parties : initialisation, condition d'arrêt et variation.

    Tu dois prendre le problème dans l'autre sens : étudier le problème, compter les * et les espaces, déterminer les schémas qui se reproduisent, et quelles sont les variations entre itération, et ensuite construire la boucle devient évident, normalement.

    Je te suggérais d'inverser * et espaces pour que tu constates que la V-Shape est le négatif d'un triangle la pointe en bas, forme que tu as déjà construite (enfin dont j'ai déjà indiqué comment la faire en inversant la première boucle que tu avais écrite).

    Il y a juste 2 choses à remarquer :

    1. Dans ton code pour le triangle, tu ne gères pas les espaces à droite (après les *). Forcément, ce n'est pas nécessaire de les gérer, parce qu'ils sont, par nature invisible. Mais lorsqu'on échange * et espace, il devient nécessaire de les gérer. Or, c'est aussi simple que de gérer ceux de gauche : à cause de la symétrie, il y en a le même nombre, donc c'est la même boucle exactement qu'il suffit de copier.

      En gros, pour le triangle positif (affiché par des *), tu avais

      Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      boucle des lignes
      afficher un certain nombre n d’espaces
      afficher un certain nombre m de *
      fin boucle des lignes

      et pour le triangle en négatif :

      Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      boucle des lignes
      afficher un certain nombre n de *
      afficher un certain nombre m d’espaces
      afficher un certain nombre n de *
      fin boucle des lignes

    2. Dans l'énoncé, on remarque que la variation du nombre d'étoiles de chaque côté du V n'est pas de 1 pour chaque ligne, mais de 2. Il faut donc modifier les boucles (le nombre d'étoiles à gauche comme à droite, et d'espaces, donc les conditions d'arrêt.




    Mais on peut le faire aussi de manière indépendante.

    Si on observe la forme en V, on voit que sa hauteur fait 5, on commence par une astérisque de chaque côté sur la première ligne, puis on incrémente ce nombre de * de 2 de chaque côté à chaque ligne.

    L'algo globale peut s'écrire :

    Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    int nbAsterisk= 1;  // ou nbStar...
    for(int i=0; i<height; i++) {
     
        nbSpace = // ? reste à déterminer
     
        afficher nbAsterisk fois *
     
        afficher nbSpace fois " "
     
        afficher nbAsterisk fois *
     
        nbAsterisk += 2 // on incrémente nbAsterisk de 2
     
    }

    Donc le nombre d'étoiles de chaque côté pour la ligne d'index i et 1 + i × 2. Donc le nombre d'étoiles à la fin de la boucle est m = 1 + (height - 1) × 2 (soit 2 × height - 1) . Heiht -1, parce que la condition d'arrêt est "< height" (on va de 0 à height-1).

    Donc le nombre total d'étoles sur la dernière ligne est 2 × m, soit 4 × height - 2

    Ensuite, on peut en déduire le nombre d'espaces. Sur la dernière ligne, on à 0 espace. Si on faisait la boucle inverse (en allant de bas en haut), on ajouterait 4 espaces à chaque ligne. Donc on ajoute au total (height - 1) × 4 espaces, ce qui correspond à notre nbSpace de la première ligne.

    Donc on peut en déduire :

    Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for(int i=0; i<height; i++) {
     
        nbAsterisk = 1 + ( i × 2)
        nbSpace = ((height - 1) × 4) - nbAsterisk × 2  
     
        afficher nbAsterisk fois *
     
        afficher nbSpace fois " "
     
        afficher nbAsterisk fois *
     
    }

    On pourrait, en java, considérer qu'on boucle en fait sur 3 variables, i, nbAsterisk et nbSpace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    for(int i=0, nbAsterisk=1, nbSpace = (height-1)*4; i<height; i++, nbAsterisk+=2, nbSpace-=4) {
     
       for( int j=0; j<nbAsterisk; j++ ) {
    	System.out.print("*");
       }
     
       for( int j=0; j<nbSpace; j++ ) {
    	System.out.print(" ");
       }
     
       for( int j=0; j<nbAsterisk; j++ ) {
    	System.out.print("*");
       }
       System.out.println();
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup Joel pour ton aide!! je suis parti sur une boucle avec "if" et j'ai réussi a sortir le v-shape par contre je ne comprends pas pourquoi la hauteur "height" sort fausse pour le losange ??
    Joel, peux-tu s'il te plait jeter un coup d’œil et me dire ou j'ai commis une erreur?

    voici le programme au complet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    import java.util.Scanner;
     
     
    public class Pattern {
     
    	public static void main(String[] args) {
     
    				int height; 
    				int whichPattern;
     
     
    	Scanner sc = new Scanner(System.in);
     
    	System.out.println("which pattern do you want(1/2/3)?: 1: triangle; 2: diamond; 3: V-shape");
    	whichPattern = sc.nextInt();
     
    	System.out.print("Please input the height: ");
    	height = sc.nextInt();
     
    	System.out.println();
    	if(whichPattern == 1)
    		trianglePrint(height);
    	else if (whichPattern == 2)
    		diamondPrint(height);
    	else
    		vPrint(height);
    }
     
    	public static void trianglePrint(int height){
     
    		for(int i = 0; i<height; i++){
     
    			for(int s=0; s<height-i; s++){
    		    System.out.print(" ");
     
    		       }
    		              for (int k=0; k<2*i-1; k++){
    		              System.out.print("*");
    		              }
    		              System.out.println();
    		 }
     
     }
    	public static void diamondPrint(int height) {
     
    		   trianglePrint(height);
     
    		   for (int i = height; i > 0; i--) {
     
    		      for (int s = 0; s < height - i; s++) {
    		          System.out.print(" ");
    		      }
    		      for (int k = 0; k < 2 * i - 1; k++) {
    		          System.out.print("*");
    		      }
    		      System.out.println();
    		   }
    	}
     
    	public static void vPrint(int height) {
    		for(int i=1;i<=height;i++){                                  
     
     
                for(int j=height-i;j<height;j++){                        
                     System.out.print("*");
     
                if(j==height-1){
                for(int k=i;k<=j+1;k+=1){
                System.out.print(" ");
     
          }
               for(int s=1;s<height-(i-1);s++){
               System.out.print(" ");
     
          }
               for(int l=height-i;l<height;l++){
               System.out.print("*");
               }
          }	
     
    } 
                System.out.println();
     
    }
    	}
    	}

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    C'est justement le point que j'évoquais dans un précédent post. Si on observe le losange dans l'énoncé, il fait le double de la hauteur du triangle (enfin pas tout à fait, parce que la ligne médiane horizontale ne se répète pas). Evidement, en conséquence, il ne fait pas la hauteur saisie. Tout dépend comment il faut interpréter l'enoncé.

    Si on veut que le losange fasse exactement la hauteur saisie, ce ne sera pas possible, à cause de la ligne médiane non répétée. La hauteur du losange est égale à une hauteur (celle du triangle supérieur), plus cette même hauteur moins 1 (celle du triangle inférieur). Autrement dit hauteurlosange = hauteurtriangle + hauteurtriangle - 1, ou encore hauteurtriangle × 2 + 1. Donc un nombre pair + 1, donc un nombre impair. Donc il est impossible d'avoir un losange de hauteur paire.

    Si tu veux tout de même pouvoir saisir la hauteur réelle du losange en entrée, à l'approximation près due au fait qu'on ne puisse pas avoir de losange de hauteur paire, on peut appeler diamondPrint comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    else if (whichPattern == 2)
    	diamondPrint( (height+1)/2 );
    else
    Comme la hauteur du losange est le double de celle saisie, on divise par 2 la valeur saisie. On ajoute 1 à cause de la division entière, qui arrondi à l'entier inférieur (ainsi une entrée de 12, fait 6 (donc une hauteur de losange de 11, 12 étant impossible), mais une entrée de 11, fait 6 aussi (donc un losange qui fait bien 11).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Comment créer un tableau dans une boucle foreach ?
    Par razily dans le forum Langage
    Réponses: 4
    Dernier message: 30/04/2012, 11h25
  2. comment mettre un tableau dans une boucle et sur la meme page
    Par pikkolina dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 24/05/2009, 19h21
  3. Comment éviter des requêtes dans une boucle
    Par dam28800 dans le forum Langage
    Réponses: 43
    Dernier message: 04/12/2008, 16h53
  4. Comment faire un Sleep dans une boucle PL/SQL
    Par foster06 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 01/02/2008, 18h59
  5. Réponses: 6
    Dernier message: 17/06/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo