Combinaison de chifre
Résolu
NBA321
Messages postés
39
Statut
Membre
-
NBA321 Messages postés 39 Statut Membre -
NBA321 Messages postés 39 Statut Membre -
Bonjour à tous,
Je me creuse la tête depuis un bon moment déjà pour résoudre ceci :
J'ai 8 éléments A,B,C,D,E,F,G,H. Je voudrai créer un programme permettant de trouver les différentes possibilité de combinaison à 4 élément parmi les 8 et les trier ensuite pour supprimer les doublons du genre (ABCD,DCBD).
J'ai essayé en vain plusieurs combinaisons de boucles FOR/NEXT, DO/LOOP...
A défaut de me donner l'algorythme, voire le prog en VB, si quelqu'un a une piste, une idée de départ, c'est pas de refus!
Je me creuse la tête depuis un bon moment déjà pour résoudre ceci :
J'ai 8 éléments A,B,C,D,E,F,G,H. Je voudrai créer un programme permettant de trouver les différentes possibilité de combinaison à 4 élément parmi les 8 et les trier ensuite pour supprimer les doublons du genre (ABCD,DCBD).
J'ai essayé en vain plusieurs combinaisons de boucles FOR/NEXT, DO/LOOP...
A défaut de me donner l'algorythme, voire le prog en VB, si quelqu'un a une piste, une idée de départ, c'est pas de refus!
A voir également:
- Combinaison de chifre
- Combien de combinaison possible avec 3 chiffres - Forum Réseaux sociaux
- Tableau de combinaison loto 5/90 - Forum Logiciels
- Chifre en lettre - Télécharger - Outils professionnels
- Combinaison de 5 dans 16 - Forum Programmation
- Nombre de combinaisons possibles avec trois chiffres ✓ - Forum Programmation
4 réponses
Normalement quand on parle de combinaison, l'ordre n'a pas d'importance contrairement aux arrangements, alors avant de commencer à t'expliquer, mettons nous bien d'accord sur le vocabulaire parce que les résultats ne seraient pas du tout les même !
Exemple : (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1) sont les 6 arrangements de la combinaison {1,2,3}
Exemple : (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1) sont les 6 arrangements de la combinaison {1,2,3}
Merci beaucoup, c'est tout à fait ce que je voulait.
Mais je voudrais aussi faire en sorte que le programme demande les valeurs des éléments, j'ai essayée avec readln mais ça ne fonctionne pas. Auriez vous une idéé ???
Mais je voudrais aussi faire en sorte que le programme demande les valeurs des éléments, j'ai essayée avec readln mais ça ne fonctionne pas. Auriez vous une idéé ???
J'ai essayé comme ceci
Mais maintenant sa ne m'affiche qu'une seule combinaison et me ensuite me redemande les numéros. Il ne donne plus toutes les combinaisons. J'ai surement quelque chose à corriger mais je ne vois pas.
var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t:byte;
BEGIN
for a:=0 to 1 do
for b:=0 to 1 do
for c:=0 to 1 do
for d:=0 to 1 do
for e:=0 to 1 do
for f:=0 to 1 do
for g:=0 to 1 do
for h:=0 to 1 do
for i:=0 to 1 do
for j:=0 to 1 do
if a+b+c+d+e+f+g+h+i+j=6
then begin
writeln('Entrez les numéros favoris');
readln(k,l,m,n,o,p,q,r,s,t);
if a=1 then write( k);
if b=1 then write( l);
if c=1 then write( m);
if d=1 then write( n);
if e=1 then write( o);
if f=1 then write( p);
if g=1 then write( q);
if h=1 then write( r);
if i=1 then write( s);
if j=1 then write( t);
writeln;
end;
END.
Mais maintenant sa ne m'affiche qu'une seule combinaison et me ensuite me redemande les numéros. Il ne donne plus toutes les combinaisons. J'ai surement quelque chose à corriger mais je ne vois pas.
Ton readln tu devrais le faire une seule fois au tout début, là tu le fais à chaque fois que tu as une nouvelle combinaison donc forcément ça coince !
Remarque : tu peux également utiliser des string plutôt que des bytes dans ce cas.
Remarque : tu peux également utiliser des string plutôt que des bytes dans ce cas.
VAR
a,b... :byte;
sa,sb... :string;
BEGIN
writeln('Entrez les valeurs preferees : ');
readln(sa);
readln(sb);
// ...
for a:=0 to 1 do
for b:=0 to 1 do
//...
if a+b+c+d+e+f+g+h+i+j=6
then begin
if a=1 then write(sa);
if b=1 then write(sb);
// ...
writeln;
end;
END.
VAR a,b,c,d,e,f,g,h:byte; BEGIN for a:=0 to 1 do for b:=0 to 1 do for c:=0 to 1 do for d:=0 to 1 do for e:=0 to 1 do for f:=0 to 1 do for g:=0 to 1 do for h:=0 to 1 do if a+b+c+d+e+f+g+h=4 then begin if a=1 then write('A'); if b=1 then write('B'); if c=1 then write('C'); if d=1 then write('D'); if e=1 then write('E'); if f=1 then write('F'); if g=1 then write('G'); if h=1 then write('H'); writeln; end; END.