Algorithme defficile

Fermé
Coeur - 2 févr. 2010 à 21:23
 Coeur - 5 févr. 2010 à 13:43
Bonjour,
je besions d'algorithme de combinaison des valeurs
exple une tab={1,2,3,4}
on veut combiner chaque 3 valeurs
donc C(4,3)=4
le resultat est une matrice
1 2 3
1 2 4
1 3 4
2 3 4


merci 2avance
A voir également:

2 réponses

Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
3 févr. 2010 à 12:36
Bonjour,
Je ne connais pas suffisament le Java, mais voici un exemple en textuel.

/* Déclaration */
val1, val2, val3 /*= 3 variables extraites */
rang /*variable qui permet d'incrémenter les solutions*/
tab = {1,2,3,4} /* = ta liste de valeurs */
resultat(n, 3) /* = ton tableau de résultats n lignes 3 colonnes*/
rang = 1
Pour chaque val1 dans tab de 1 à (dimension de tab - 2)
   Pour chaque val2 dans tab de val1+1 à (dimension de tab - 1)
      Pour chaque val3 dans tab de val2+1 à (dimension de tab)
         resultat(rang, 1)=tab(val1)
         resultat(rang, 2)=tab(val2)
         resultat(rang, 3,)=tab(val3)
         rang = rang + 1
      val3 suivant
   val2 suivant
val1 suivant


J'espère que c'est clair. N'hésite pas.
2
merci bien pour ton effort mais je besois un algorithme qui traite c problem dans le cas generale quelque soit le taille de tabeleau initiale.
le tableau intiale peut contenir un nombre inconnu des valeurs donc l'algorithme doit generer tous les combinaison
merci
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289 > Coeur
3 févr. 2010 à 12:53
Est-ce que le Java accepte les appels récursifs de fonctions ?
0
bat > Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013
3 févr. 2010 à 12:54
wi biensur
0
Coeur > Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013
3 févr. 2010 à 12:56
wi Java accepte les appel récursif des fonctions
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289 > Coeur
4 févr. 2010 à 12:37
Bonjour,
Voici un exemple pour p éléments pris dans une liste de n éléments.

' Déclaration des variables
i, ligne
' Déclarer une variable de retenue
retenue
' Déclarer un tableau de p colonnes et C(n,p) lignes
tab_valeurs(C(n,p),p)
'
' Remplir la première ligne
Pour i = 1 à p
   tab_valeurs(1,i) = i
i suivant
'
retenue=0
Pour ligne=2 à C(n,p)
   Si tab_valeurs(ligne-1,p)+1 > p alors
      tab_valeurs(ligne,p) = 1
      retenue = 1
   sinon
      tab_valeurs(ligne,p) = valeurs(ligne-1,p) + 1
   fin_de_si
   i=p-1
   Tant que retenue = 1
      Si tab_valeurs(ligne-1,i)+1 > p alors
         tab_valeurs(ligne,i) = 1
         retenue = 1
         i = i - 1
      sinon
         tab_valeurs(ligne,i) = valeurs(ligne-1,i) + 1
         retenue = 0
      fin_de_si
   Fin_de_tant_que
ligne suivante


Normalement, ça marche.
J'ai laissé tomber la forme récursive qui me paraissait intéressante : je ne vois pas comment la mettre en forme.
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
2 févr. 2010 à 21:35
Bonsoir,
Sous quel langage ?
0
java
0
Si vous pouvez just me donner une description textuel de l'algorithme et j'essai moi même de faire l'implimentation en java merci d'avance
0