Triangle

sousourossa Messages postés 14 Statut Membre -  
florette-08 Messages postés 9 Statut Membre -
Bonjour,

svp pouvez vous me donner l'algorithme qui permet d'afficher ce triangle

1*8+1=9
12*8+2=98
123*8+3=987
1234*8+4=9876
12345*8+5=98765
123456*8+6=987654
1234567*8+7=9876543
12345678*8+8=98765432
123456789*8+9=987654321
que ce soit algo ou en langage c
c treeeeeeeeeeeeeeeeeeeeeeeees urgent

3 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    gauche <-- 
    milieu <-- *8+ 
    droite <-- = 
    
    Pour n=1 à 10 
       gauche <-- gauche n 
       droite <-- droite (10-n) 
       afficher --> gauche milieu n droite

    La confiance n'exclut pas le contrôle
    1
  2. sousourossa Messages postés 14 Statut Membre
     
    bon c que je vois c que il y a un programme qui fait la partie gauche le milieu on peut faire une boulcle mais le probleme c comment concatener ce programme avec l'autre pour donner à la fin ce triangle ??????
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Ce que je t'ai mis c'est l'algo, il est entier et te donne le triangle !!
      Il n'y a rien de plus à concaténer, tout est là !
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      Tu peux le dérouler pour voir ce que ça donne

      gauche <-- 
      milieu <-- *8+
      droite <-- =
      
      n=1
      
      gauche <-- 1
      droite <-- =9
      afficher --> 1*8+1=9
      
      n=2
      
      gauche <-- 12
      droite <-- =98
      afficher --> 12*8+2=98
      
      ...
      0
  3. sousourossa Messages postés 14 Statut Membre
     
    oui j'ai bien vu ce tu as mis mais est ce que on va mettre une boucle pour afficher
    1
    12
    123
    1234
    12345
    123456
    1234567
    12345678
    123456789
    parce qu'on va pas mettre à chaque fois afficher
    s'il te plait peux tu me le bien l'ecrire si je n'abuse pas de ta collaboration
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      je l'ai mis la boucle, elle affiche au fur et à mesure chacune des lignes...
      0
    2. sousourossa Messages postés 14 Statut Membre
       
      oui mais quand n=2
      gauche <-- 2
      droite<--8
      afficher --> 2*8+2=8
      comment va conserver gauche <-- 12
      droite<--98
      ....
      0
    3. KX Messages postés 19031 Statut Modérateur 3 020
       
      La formule c'est gauche <-- gauche n

      Après n=1 on a gauche=1, donc pour n=2 on fait gauche <-- gauche 2, c'est à dire gauche <-- 12
      La valeur de gauche devient 12, et c'est cette nouvelle valeur que l'on conserve pour la suite.

      Idem pour droite <-- droite (10-n)
      0
    4. sousourossa Messages postés 14 Statut Membre
       
      ah oui maintenant j'ai bien compris merci bcp de m'avoir aider
      0
    5. KX Messages postés 19031 Statut Modérateur 3 020
       
      Je ne connais pas vb.net, mais en C, il s'agit comme je l'ai montré avec l'algo, de prendre trois chaines de caractères (gauche, milieu, droite) et de les modifier au fur et à mesure.
      gauche <-- gauche n, se traduit en C par : sprintf(gauche,"%s%d",gauche,n);

      Il ne s'agit en aucun cas de faire deux boucles imbriquées l'une dans l'autre, une seule boucle suffit.

      Remarque : la hauteur du triangle sera toujours 9
      0