Triangle

Fermé
sousourossa Messages postés 11 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 16 mai 2011 - 3 mai 2011 à 17:08
florette-08 Messages postés 6 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 6 mai 2011 - 6 mai 2011 à 00:14
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 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 3/05/2011 à 19:28
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 mercredi 4 juin 2008 Statut Membre Dernière intervention 16 mai 2011
3 mai 2011 à 23:48
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 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
4 mai 2011 à 00:05
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 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
4 mai 2011 à 00:09
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 mercredi 4 juin 2008 Statut Membre Dernière intervention 16 mai 2011
4 mai 2011 à 00:17
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 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
4 mai 2011 à 00:20
je l'ai mis la boucle, elle affiche au fur et à mesure chacune des lignes...
0
sousourossa Messages postés 11 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 16 mai 2011
4 mai 2011 à 00:29
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 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 4/05/2011 à 00:40
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 mercredi 4 juin 2008 Statut Membre Dernière intervention 16 mai 2011
4 mai 2011 à 00:41
ah oui maintenant j'ai bien compris merci bcp de m'avoir aider
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 5/05/2011 à 09:02
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