Bonjour =E0 tous.
Je cherche l'algorithme permettant d'effectuer tous les=20
calculs (sans doublon) selon l'exemple suivant :
Si j'ai 3 nombres A B C, je veux toutes les sommes=20
possibles, donc=20
G1/ A, B, C,
G2/ A+B, A+C, B+C,
G3/ A+B+C
Et si j'ai 5 valeurs A B C D E, les sommes seront
G1/ A, B, C, D, E,
G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E
G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D,=20
B+C+E, B+D+E, C+D+E
G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E
G5/ A+B+C+D+E
et que cela marche quel que soit le nombre de valeurs.
Il y a bien quelque part un document d=E9crivant=20
l'algorithme ou mieux, un script VB (ou Basic classique)
qui ferait cela.
Merci d'avance pour vos contributions.
Denis.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvie
Bhein ecoute je c pas si sa marche totaleme,t mais c un debut de piste, .... apparement sa fais qq doublon, mais je t'explique ce que j'ai fais
je consruit un tableu, je calcul la somme de ce tableau, ensuite dans la deuxiemem boucle je reconstruit le tableau en enlveent chaque fois une autre case, et je renvoye ce tableau a la meme fonction, au final i lboucle sur toute les possibiliter... enfin normalement, ;-)
apparement il es pas super mon algo, car il te sort des doublon, regarde si sa ce trouve c rien de grave, mais j'ai pas trop le temps de chercher, si tu trouve rien, fais le moi savoir, et j'essaye de chercher l'erreur :-)
"Denis.Lair" a écrit dans le message de news: 036901c36578$4213a350$ Bonjour à tous. Je cherche l'algorithme permettant d'effectuer tous les calculs (sans doublon) selon l'exemple suivant : Si j'ai 3 nombres A B C, je veux toutes les sommes possibles, donc G1/ A, B, C, G2/ A+B, A+C, B+C, G3/ A+B+C Et si j'ai 5 valeurs A B C D E, les sommes seront G1/ A, B, C, D, E, G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D, B+C+E, B+D+E, C+D+E G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E G5/ A+B+C+D+E et que cela marche quel que soit le nombre de valeurs. Il y a bien quelque part un document décrivant l'algorithme ou mieux, un script VB (ou Basic classique) qui ferait cela. Merci d'avance pour vos contributions. Denis.
Bhein ecoute je c pas si sa marche totaleme,t mais c un debut de piste, ....
apparement sa fais qq doublon, mais je t'explique ce que j'ai fais
je consruit un tableu, je calcul la somme de ce tableau, ensuite dans la
deuxiemem boucle je reconstruit le tableau en enlveent chaque fois une autre
case, et je renvoye ce tableau a la meme fonction, au final i lboucle sur
toute les possibiliter... enfin normalement, ;-)
apparement il es pas super mon algo, car il te sort des doublon, regarde si
sa ce trouve c rien de grave, mais j'ai pas trop le temps de chercher, si tu
trouve rien, fais le moi savoir, et j'essaye de chercher l'erreur :-)
"Denis.Lair" <Denis.Lair@ifrance.com> a écrit dans le message de news:
036901c36578$4213a350$a001280a@phx.gbl...
Bonjour à tous.
Je cherche l'algorithme permettant d'effectuer tous les
calculs (sans doublon) selon l'exemple suivant :
Si j'ai 3 nombres A B C, je veux toutes les sommes
possibles, donc
G1/ A, B, C,
G2/ A+B, A+C, B+C,
G3/ A+B+C
Et si j'ai 5 valeurs A B C D E, les sommes seront
G1/ A, B, C, D, E,
G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E
G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D,
B+C+E, B+D+E, C+D+E
G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E
G5/ A+B+C+D+E
et que cela marche quel que soit le nombre de valeurs.
Il y a bien quelque part un document décrivant
l'algorithme ou mieux, un script VB (ou Basic classique)
qui ferait cela.
Merci d'avance pour vos contributions.
Denis.
Bhein ecoute je c pas si sa marche totaleme,t mais c un debut de piste, .... apparement sa fais qq doublon, mais je t'explique ce que j'ai fais
je consruit un tableu, je calcul la somme de ce tableau, ensuite dans la deuxiemem boucle je reconstruit le tableau en enlveent chaque fois une autre case, et je renvoye ce tableau a la meme fonction, au final i lboucle sur toute les possibiliter... enfin normalement, ;-)
apparement il es pas super mon algo, car il te sort des doublon, regarde si sa ce trouve c rien de grave, mais j'ai pas trop le temps de chercher, si tu trouve rien, fais le moi savoir, et j'essaye de chercher l'erreur :-)
"Denis.Lair" a écrit dans le message de news: 036901c36578$4213a350$ Bonjour à tous. Je cherche l'algorithme permettant d'effectuer tous les calculs (sans doublon) selon l'exemple suivant : Si j'ai 3 nombres A B C, je veux toutes les sommes possibles, donc G1/ A, B, C, G2/ A+B, A+C, B+C, G3/ A+B+C Et si j'ai 5 valeurs A B C D E, les sommes seront G1/ A, B, C, D, E, G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D, B+C+E, B+D+E, C+D+E G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E G5/ A+B+C+D+E et que cela marche quel que soit le nombre de valeurs. Il y a bien quelque part un document décrivant l'algorithme ou mieux, un script VB (ou Basic classique) qui ferait cela. Merci d'avance pour vos contributions. Denis.
Youssef
Bonjour
J'ai ecrit un algorithme ,j'ai pas teste je crois que c'est juste, tu me repond stp si ca marche
T(0)=0 T(1)=A T(2)=B T(3)=C . . T(N)=XN dim i as integer dim j as integer dim l as integer dim V1 as long dim Resultat(M) as long ''M tu peut le connaître si tu te rappelle la fct mathématique
''sinon tu déclare un tableau dynamique
For i=0 to N V1=V1+T(i) For j=i+1 To N Resultat(l)=V1+T(j) l=l+1 Next j Next i
"Denis.Lair" a écrit dans le message de news: 036901c36578$4213a350$ Bonjour à tous. Je cherche l'algorithme permettant d'effectuer tous les calculs (sans doublon) selon l'exemple suivant : Si j'ai 3 nombres A B C, je veux toutes les sommes possibles, donc G1/ A, B, C, G2/ A+B, A+C, B+C, G3/ A+B+C Et si j'ai 5 valeurs A B C D E, les sommes seront G1/ A, B, C, D, E, G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D, B+C+E, B+D+E, C+D+E G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E G5/ A+B+C+D+E et que cela marche quel que soit le nombre de valeurs. Il y a bien quelque part un document décrivant l'algorithme ou mieux, un script VB (ou Basic classique) qui ferait cela. Merci d'avance pour vos contributions. Denis.
Bonjour
J'ai ecrit un algorithme ,j'ai pas teste je crois que c'est juste, tu me
repond stp si ca marche
T(0)=0
T(1)=A
T(2)=B
T(3)=C
.
.
T(N)=XN
dim i as integer
dim j as integer
dim l as integer
dim V1 as long
dim Resultat(M) as long
''M tu peut le connaître si tu te rappelle la fct mathématique
''sinon tu déclare un tableau dynamique
For i=0 to N
V1=V1+T(i)
For j=i+1 To N
Resultat(l)=V1+T(j)
l=l+1
Next j
Next i
"Denis.Lair" <Denis.Lair@ifrance.com> a écrit dans le message de news:
036901c36578$4213a350$a001280a@phx.gbl...
Bonjour à tous.
Je cherche l'algorithme permettant d'effectuer tous les
calculs (sans doublon) selon l'exemple suivant :
Si j'ai 3 nombres A B C, je veux toutes les sommes
possibles, donc
G1/ A, B, C,
G2/ A+B, A+C, B+C,
G3/ A+B+C
Et si j'ai 5 valeurs A B C D E, les sommes seront
G1/ A, B, C, D, E,
G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E
G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D,
B+C+E, B+D+E, C+D+E
G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E
G5/ A+B+C+D+E
et que cela marche quel que soit le nombre de valeurs.
Il y a bien quelque part un document décrivant
l'algorithme ou mieux, un script VB (ou Basic classique)
qui ferait cela.
Merci d'avance pour vos contributions.
Denis.
J'ai ecrit un algorithme ,j'ai pas teste je crois que c'est juste, tu me repond stp si ca marche
T(0)=0 T(1)=A T(2)=B T(3)=C . . T(N)=XN dim i as integer dim j as integer dim l as integer dim V1 as long dim Resultat(M) as long ''M tu peut le connaître si tu te rappelle la fct mathématique
''sinon tu déclare un tableau dynamique
For i=0 to N V1=V1+T(i) For j=i+1 To N Resultat(l)=V1+T(j) l=l+1 Next j Next i
"Denis.Lair" a écrit dans le message de news: 036901c36578$4213a350$ Bonjour à tous. Je cherche l'algorithme permettant d'effectuer tous les calculs (sans doublon) selon l'exemple suivant : Si j'ai 3 nombres A B C, je veux toutes les sommes possibles, donc G1/ A, B, C, G2/ A+B, A+C, B+C, G3/ A+B+C Et si j'ai 5 valeurs A B C D E, les sommes seront G1/ A, B, C, D, E, G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D, B+C+E, B+D+E, C+D+E G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E G5/ A+B+C+D+E et que cela marche quel que soit le nombre de valeurs. Il y a bien quelque part un document décrivant l'algorithme ou mieux, un script VB (ou Basic classique) qui ferait cela. Merci d'avance pour vos contributions. Denis.
Jérôme VERITE
Bonsoir,
juste pour le plaisir un petit bout de code qui remplit la fonction demandée, même si vous avez peut être déjà la réponse
Jérôme
Option Explicit
Private Sub Form_Load() Dim Tablo(3) As Integer Dim NbElements As Integer ' le nombre d'elements a sommer Dim TabSortie() As Integer
For NbElements = 1 To UBound(Tablo) Somme Tablo, TabSortie, NbElements Next NbElements
Debug.Print "debut affichage" For NbElements = 1 To UBound(TabSortie) Debug.Print TabSortie(NbElements) Next NbElements Unload Me End Sub
Private Sub Somme(TabEntree() As Integer, TabSortie() As Integer, NbElements As Integer, Optional PositionInitiale As Integer = 1, Optional DebutSomme As Integer = 0) Dim i As Integer
If NbElements = 1 Then ' dernier element a ajouter a la somme ReDim Preserve TabSortie(UBound(TabSortie) + UBound(TabEntree) + 1 - PositionInitiale) For i = PositionInitiale To UBound(TabEntree) TabSortie(UBound(TabSortie) - UBound(TabEntree) + i) DebutSomme + TabEntree(i) Next i Else For i = PositionInitiale To UBound(TabEntree) + 1 - NbElements Somme TabEntree, TabSortie, NbElements - 1, i + 1, DebutSomme + TabEntree(i) Next i End If End Sub
"Denis.Lair" a écrit dans le message de news: 036901c36578$4213a350$ Bonjour à tous. Je cherche l'algorithme permettant d'effectuer tous les calculs (sans doublon) selon l'exemple suivant : Si j'ai 3 nombres A B C, je veux toutes les sommes possibles, donc G1/ A, B, C, G2/ A+B, A+C, B+C, G3/ A+B+C Et si j'ai 5 valeurs A B C D E, les sommes seront G1/ A, B, C, D, E, G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D, B+C+E, B+D+E, C+D+E G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E G5/ A+B+C+D+E et que cela marche quel que soit le nombre de valeurs. Il y a bien quelque part un document décrivant l'algorithme ou mieux, un script VB (ou Basic classique) qui ferait cela. Merci d'avance pour vos contributions. Denis.
Bonsoir,
juste pour le plaisir un petit bout de code qui remplit la fonction
demandée, même si vous avez
peut être déjà la réponse
Jérôme
Option Explicit
Private Sub Form_Load()
Dim Tablo(3) As Integer
Dim NbElements As Integer ' le nombre d'elements a sommer
Dim TabSortie() As Integer
For NbElements = 1 To UBound(Tablo)
Somme Tablo, TabSortie, NbElements
Next NbElements
Debug.Print "debut affichage"
For NbElements = 1 To UBound(TabSortie)
Debug.Print TabSortie(NbElements)
Next NbElements
Unload Me
End Sub
Private Sub Somme(TabEntree() As Integer, TabSortie() As Integer, NbElements
As Integer, Optional PositionInitiale As Integer = 1, Optional DebutSomme As
Integer = 0)
Dim i As Integer
If NbElements = 1 Then
' dernier element a ajouter a la somme
ReDim Preserve TabSortie(UBound(TabSortie) + UBound(TabEntree) + 1 -
PositionInitiale)
For i = PositionInitiale To UBound(TabEntree)
TabSortie(UBound(TabSortie) - UBound(TabEntree) + i) DebutSomme + TabEntree(i)
Next i
Else
For i = PositionInitiale To UBound(TabEntree) + 1 - NbElements
Somme TabEntree, TabSortie, NbElements - 1, i + 1, DebutSomme +
TabEntree(i)
Next i
End If
End Sub
"Denis.Lair" <Denis.Lair@ifrance.com> a écrit dans le message de news:
036901c36578$4213a350$a001280a@phx.gbl...
Bonjour à tous.
Je cherche l'algorithme permettant d'effectuer tous les
calculs (sans doublon) selon l'exemple suivant :
Si j'ai 3 nombres A B C, je veux toutes les sommes
possibles, donc
G1/ A, B, C,
G2/ A+B, A+C, B+C,
G3/ A+B+C
Et si j'ai 5 valeurs A B C D E, les sommes seront
G1/ A, B, C, D, E,
G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E
G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D,
B+C+E, B+D+E, C+D+E
G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E
G5/ A+B+C+D+E
et que cela marche quel que soit le nombre de valeurs.
Il y a bien quelque part un document décrivant
l'algorithme ou mieux, un script VB (ou Basic classique)
qui ferait cela.
Merci d'avance pour vos contributions.
Denis.
For NbElements = 1 To UBound(Tablo) Somme Tablo, TabSortie, NbElements Next NbElements
Debug.Print "debut affichage" For NbElements = 1 To UBound(TabSortie) Debug.Print TabSortie(NbElements) Next NbElements Unload Me End Sub
Private Sub Somme(TabEntree() As Integer, TabSortie() As Integer, NbElements As Integer, Optional PositionInitiale As Integer = 1, Optional DebutSomme As Integer = 0) Dim i As Integer
If NbElements = 1 Then ' dernier element a ajouter a la somme ReDim Preserve TabSortie(UBound(TabSortie) + UBound(TabEntree) + 1 - PositionInitiale) For i = PositionInitiale To UBound(TabEntree) TabSortie(UBound(TabSortie) - UBound(TabEntree) + i) DebutSomme + TabEntree(i) Next i Else For i = PositionInitiale To UBound(TabEntree) + 1 - NbElements Somme TabEntree, TabSortie, NbElements - 1, i + 1, DebutSomme + TabEntree(i) Next i End If End Sub
"Denis.Lair" a écrit dans le message de news: 036901c36578$4213a350$ Bonjour à tous. Je cherche l'algorithme permettant d'effectuer tous les calculs (sans doublon) selon l'exemple suivant : Si j'ai 3 nombres A B C, je veux toutes les sommes possibles, donc G1/ A, B, C, G2/ A+B, A+C, B+C, G3/ A+B+C Et si j'ai 5 valeurs A B C D E, les sommes seront G1/ A, B, C, D, E, G2/ A+B, A+C, A+D, A+E, B+C, B+D, B+E, C+D, C+E, D+E G3/ A+B+C, A+B+D, A+B+E, A+C+D, A+C+E, A+D+E, B+C+D, B+C+E, B+D+E, C+D+E G4/ A+B+C+D, A+B+C+E, A+B+D+E, A+C+D+E, B+C+D+E G5/ A+B+C+D+E et que cela marche quel que soit le nombre de valeurs. Il y a bien quelque part un document décrivant l'algorithme ou mieux, un script VB (ou Basic classique) qui ferait cela. Merci d'avance pour vos contributions. Denis.
Denis.Lair
Merci à toutes et à tous, la version de Jerome me convient parfaitement. DL
Merci à toutes et à tous, la version de Jerome me convient
parfaitement.
DL