Afficher la combinaison de trois chiffres
Sabetodo
Messages postés
120
Date d'inscription
Statut
Membre
Dernière intervention
-
Gemini -
Gemini -
Bonjour,
salut les gars.qqn aurait-il une idee sur cet exo: Écrire une fonction qui affiche dans l'ordre croissant toutes les
differentes combinaisons de trois chiffres differents dans l'ordre
croissant. On a :
"012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789"
987 n'est pas la car on a deja 789, 999 ne comporte pas que des
chiffre exclusivement differents les uns des autres.
Elle devra être prototypée de la façon suivante :
int my_aff_comb();
salut les gars.qqn aurait-il une idee sur cet exo: Écrire une fonction qui affiche dans l'ordre croissant toutes les
differentes combinaisons de trois chiffres differents dans l'ordre
croissant. On a :
"012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789"
987 n'est pas la car on a deja 789, 999 ne comporte pas que des
chiffre exclusivement differents les uns des autres.
Elle devra être prototypée de la façon suivante :
int my_aff_comb();
A voir également:
- Écrire une fonction qui affiche, dans l’ordre croissant, toutes les différentes combinaisons de trois chiffres différents dans l’ordre croissant - oui, la répétition est volontaire.
- Excel trier par ordre croissant chiffre - Guide
- Fonction si et - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Toutes les combinaisons possibles avec 3 chiffres - Forum Réseaux sociaux
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms - Forum LibreOffice / OpenOffice
8 réponses
Non mais sérieux, vous comptez tous passer tout vôtre temps de piscine à demander qu'on vous ponde vos exo ?!?
Salut,
Je vois pas bien l'intérêt du triple for. Pour ma part j'ai utilisé l'algo suivant (en c#):
je trouve 120 résultats différents, de 012 à 789
Je vois pas bien l'intérêt du triple for. Pour ma part j'ai utilisé l'algo suivant (en c#):
main { for(int i = 0; i < 999; i++) { if(EstCroissant(i)) { //Ajout dans mes resultats } } } private bool EstCroissant(int i) { //split des 3 chiffres if(chiffre1 < chiffre2 && chiffre2 < chiffre3) return true; return false; }
je trouve 120 résultats différents, de 012 à 789
"elle sera prototypée : int my_aff_comb();"
ne reve pas, on va pas la faire pour toi, hein
ça sert à rien de nous donner tous les détails
dis nous plutot ce à quoi tu as déja pensé, comment sont renségnés les chiffres (combien de chiffres donnés, etc..)
sinon, tu vas te retrouver avec des :
printf "012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789";
ne reve pas, on va pas la faire pour toi, hein
ça sert à rien de nous donner tous les détails
dis nous plutot ce à quoi tu as déja pensé, comment sont renségnés les chiffres (combien de chiffres donnés, etc..)
sinon, tu vas te retrouver avec des :
printf "012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789";
ça , ça marche uniquement pour tous les chiffres de 0 à 9
à mon avis, le vrai intéret de l'exercice serait justement de faire la même chose pour un nombre quelquonque de chiffres entre 0 et 9, chaque chiffre pouvant même etre répété
le liste étant rentrée en parametre
par exemple, il faut que ça puisse fonctionner si on rentre '0,1,1,3,5,5,5,8' par la fonction
pire encore, cela doit etre capable de fonctionner si on rentre 1,6,2,8,1,0,3,6
et là effectivement, y'a un peu plus de boulot que 3 maleureux for
à mon avis, le vrai intéret de l'exercice serait justement de faire la même chose pour un nombre quelquonque de chiffres entre 0 et 9, chaque chiffre pouvant même etre répété
le liste étant rentrée en parametre
par exemple, il faut que ça puisse fonctionner si on rentre '0,1,1,3,5,5,5,8' par la fonction
pire encore, cela doit etre capable de fonctionner si on rentre 1,6,2,8,1,0,3,6
et là effectivement, y'a un peu plus de boulot que 3 maleureux for
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voici un programme pascal qui affiche toutes les combinaisons possibles des caractères numériques (chiffres) ou alphabétiques dans une chaîne ch, sachant que le nombre de combinaisons est égale au factoriel du nombre total des chiffres , exemple pour ch = 123 il existe 3! combinaisons = 6 combinaison= 6 permutations: pour le nombre 123
le programme affiche 213-231-132-312-321-123
Program combinaison;
Uses WinCrt;
Var ch:string;
Procedure Remplir (Var ch:string);
begin
writeln('donner le nombre');
Readln(ch);
End;
procedure permut(var x,y:char);
var aux:char;
begin
aux:=x;
x:=y;
y:=aux
end;
function fact(x:integer):integer;
var f,i:integer;
begin
f:=1;
for i:= 1 to x do
begin
f:=f*i ;
end;
fact:=f;
end;
procedure affichecomb(ch:string);
var i,n,np:integer;
begin
n:=length(ch);
np:=0;
repeat
for i:= 1 to n-1 do
begin
permut(ch[i],ch[i+1]);
np:=np+1;
write(ch,'-');
end;
permut(ch[1],ch[n]);
write(ch,'-');
np:=np+1;
until np =fact(length(ch));
end;
begin
remplir(ch);
writeln;
affichecomb(ch);
end.
le programme affiche 213-231-132-312-321-123
Program combinaison;
Uses WinCrt;
Var ch:string;
Procedure Remplir (Var ch:string);
begin
writeln('donner le nombre');
Readln(ch);
End;
procedure permut(var x,y:char);
var aux:char;
begin
aux:=x;
x:=y;
y:=aux
end;
function fact(x:integer):integer;
var f,i:integer;
begin
f:=1;
for i:= 1 to x do
begin
f:=f*i ;
end;
fact:=f;
end;
procedure affichecomb(ch:string);
var i,n,np:integer;
begin
n:=length(ch);
np:=0;
repeat
for i:= 1 to n-1 do
begin
permut(ch[i],ch[i+1]);
np:=np+1;
write(ch,'-');
end;
permut(ch[1],ch[n]);
write(ch,'-');
np:=np+1;
until np =fact(length(ch));
end;
begin
remplir(ch);
writeln;
affichecomb(ch);
end.