Triangle

sousourossa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
florette-08 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
sousourossa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
sousourossa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
je l'ai mis la boucle, elle affiche au fur et à mesure chacune des lignes...
0
sousourossa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
oui mais quand n=2
gauche <-- 2
droite<--8
afficher --> 2*8+2=8
comment va conserver gauche <-- 12
droite<--98
....
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
sousourossa Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
ah oui maintenant j'ai bien compris merci bcp de m'avoir aider
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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