Afficher la combinaison de trois chiffres

Fermé
Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010 - 12 janv. 2009 à 17:36
 Gemini - 8 oct. 2012 à 16:26
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();
A voir également:

8 réponses

Non mais sérieux, vous comptez tous passer tout vôtre temps de piscine à demander qu'on vous ponde vos exo ?!?
10
L0ci Messages postés 110 Date d'inscription mardi 17 avril 2012 Statut Membre Dernière intervention 9 janvier 2013 30
4 oct. 2012 à 10:57
Salut,
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
4
dna.factory Messages postés 24957 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 26 avril 2024 1 609
12 janv. 2009 à 17:45
"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";
1
Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010 3
12 janv. 2009 à 17:52
je m'excuse les gars. voila ce que j'ai fait,mais ce n'est pas evident:
int my_aff_comb()
  { 
    int a,b,c;
    
    for(a=0;a<=7;a++)
     {
       for(b=1;b<=8;b++)
        {
          for(c=2;c<=9;c++)
            {
               my_putchar('a''b''c');
               my_putchar(';');
            }
        }
     }
  }         

NB: On m'interdit d'utiliser la fonction printf et scanf.
0
loupius > Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010
12 janv. 2009 à 18:18
Et, elle retourne quoi la fonction ?
0
dna.factory Messages postés 24957 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 26 avril 2024 1 609 > Sabetodo Messages postés 120 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 18 août 2010
14 janv. 2009 à 09:49
ç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
0
mariethe > dna.factory Messages postés 24957 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 26 avril 2024
1 avril 2009 à 15:06
je recherche des informations sur les combinaisons possibles avec 3 chiffres .je ne suis pas ..trop maths .mille mercis .
0
Modératrice
28 avril 2010 à 20:04
Bonjour,
C'est combinaison de chifre son des combinaison pour des code de site comme blablaland et plein autre merci le forum et close !
0
ses quoi les combinaison de trois chiffre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Et encore un qui viens de chez Epitech !
Cherche dans les man
0
Perso, j'avais pas réussi à les faire ceux là, trop nul en algo :x
0
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.
-1
quel est le nombre exact de combinaisons
-2
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
15 oct. 2010 à 22:16
Tu as 720 combinaisons.
0