Afficher la combinaison de trois chiffres

Sabetodo Messages postés 127 Statut Membre -  
 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();
Configuration: Linux
Firefox 1.0.7

8 réponses

  1. snakest
     
    Non mais sérieux, vous comptez tous passer tout vôtre temps de piscine à demander qu'on vous ponde vos exo ?!?
    12
  2. L0ci Messages postés 112 Statut Membre 30
     
    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
  3. dna.factory Messages postés 19915 Date d'inscription   Statut Modérateur Dernière intervention   1 621
     
    "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
    1. Sabetodo Messages postés 127 Statut Membre 3
       
      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
    2. loupius > Sabetodo Messages postés 127 Statut Membre
       
      Et, elle retourne quoi la fonction ?
      0
    3. dna.factory Messages postés 19915 Date d'inscription   Statut Modérateur Dernière intervention   1 621 > Sabetodo Messages postés 127 Statut Membre
       
      ç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
    4. mariethe > dna.factory Messages postés 19915 Date d'inscription   Statut Modérateur Dernière intervention  
       
      je recherche des informations sur les combinaisons possibles avec 3 chiffres .je ne suis pas ..trop maths .mille mercis .
      0
    5. Modératrice
       
      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
  4. emr
     
    ses quoi les combinaison de trois chiffre
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Tekpi
     
    Et encore un qui viens de chez Epitech !
    Cherche dans les man
    0
  7. Gemini
     
    Perso, j'avais pas réussi à les faire ceux là, trop nul en algo :x
    0
  8. yasmoh2010
     
    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
  9. christ55
     
    quel est le nombre exact de combinaisons
    -2
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Tu as 720 combinaisons.
      0