Comparaison pas facile....

soleildz Messages postés 58 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 10 février 2016 - 17 déc. 2003 à 14:27
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 - 17 déc. 2003 à 15:43
salut,

je n'arrive pas à programmer ce machin...
j'ai un taleau t(i) (i=1 to n) les elements sont de la forme
a/s/d/e/f/ (5 entiers de 1 à 25)exemple 10/2/5/8/11/.
je veux que chaque a/s/d/e/f/ soit ecri une seule fois !!!

exemple:

10/2/13/3/1/
12/2/13/3/5/
10/2/13/3/9/
10/2/13/3/11/
10/2/13/3/12/
10/2/13/3/16/
10/2/13/3/17/
3/2/13/10/18/
1/13/2/3/10/
12/13/2/3/5/
9/13/2/3/10/
2/10/2/3/11/
10/13/3/2/12/
16/13/2/3/10/
17/13/10/3/2/
10/13/2/3/18/
.
.
.
.
etc

10/2/13/3/1/ est ecri plusieurs fois (ce que je ne veux pas)
je souhaite que chacun soit present une seule fois !!!!

merci....

2 réponses

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 déc. 2003 à 15:41
Tu fais 2/3 boucles imbriquées
while (i<maxElement)
   buf = t(i)
   j = i;
   while (j < maxElement)
       if t(j) = buf '(ou la comparaison de ton choix)
       for index = j + 1 to maxEement
           t(index - 1) = t(index)
       next index
       maxElement = maxElement - 1
       j = j + 1
    Wend
    i = i + 1
wend


un truc du genre quoi.....C pas sur que cela marche direct, je ne l'ai pas vérifié, mais c'est pour te donner une idée de la façon dont proceder...
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
17 déc. 2003 à 15:43
Il manque un ou deux trucs... Innattention...

i = 0
while (i<maxElement)
   buf = t(i)
   j = i;
   while (j < maxElement)
       if t(j) = buf '(ou la comparaison de ton choix)
           for index = j + 1 to maxEement
               t(index - 1) = t(index)
           next index
           maxElement = maxElement - 1
       end if
       j = j + 1
    Wend
    i = i + 1
wend
0
Rejoignez-nous