Partage
  • Partager sur Facebook
  • Partager sur Twitter

exo 5 sur les tableaux

Sujet résolu
    17 mai 2007 à 18:35:53

    bonjour,

    je suis entrain de faire les exos sur les tableaux, et je repenne;

    Pouvez vous m'AIDER (et non la reponse directement)à la résolution ...

    #include <stdio.h>
    #include <stdlib.h>

    void ordonnerTableau (long tableau[], long tailleTableau);

    int main(int argc, char *argv[])
    {
        long tableau[3] = {50, 32 , 26};
        
        long tailleTableau = 3;

        int i = 0;
    long ia = 0,ib = 1, ic= 2;
        printf("Avant : \n");

    for(i=0 ; i < tailleTableau ; i++)
    {
            printf("%ld\n", tableau[i]); 
    }


    ordonnerTableau ( tableau , tailleTableau);

    printf("\n Apres : \n");


                       
                         
    printf("%ld\n", tableau[ia]);   
    printf("%ld\n", tableau[ib]); 
    printf("%ld\n", tableau[ic]); 
                         
                         
     getchar();
     return 0;

    }


    void ordonnerTableau (long tableau[], long tailleTableau)
    {
        long ia = 0,ib = 1, ic= 2,i = 0;
     
                      
                      if(tableau[ia] < tableau[1] && tableau[ia] < tableau[2])
                       ia= tableau[0]; 
                      
                       if(tableau[ia] < tableau[1] && tableau[ia] > tableau[2])
                       ia= tableau[1] ;
                      
                      if(tableau[ia] > tableau[1] && tableau[ia] > tableau[2])
                       ia = tableau[2] ; 
                  
                 
                
                 
                 if(tableau[ia] < tableau[0] && tableau[ia] < tableau[1])
                      { ib= tableau[0]; }
                      
                      if(tableau[ib] < tableau[0] && tableau[ib] > tableau[1])
                      { ib= tableau[1]; }
                      
                      if(tableau[ic] > tableau[0] && tableau[ic] > tableau[1])
                      { ib= tableau[2]; }
                  
                  

                      if(tableau[ia] < tableau[1] && tableau[ia] < tableau[0])
                      { ic= tableau[0]; }
                      
                      if(tableau[ib] < tableau[1] && tableau[ib] > tableau[0])
                      { ic= tableau[1]; }
                      
                      if(tableau[ic] > tableau[1] && tableau[ic] > tableau[0])
                      { ic= tableau[2]; }


    }
    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2007 à 12:20:20

      salut,me too ,I have got a problem about this exercie 5.
      this is my code :D

      #include <stdio.h>
      #include <stdlib.h>

      void ordonnerTableau(long tableau[], long tailleTableau);


      int main()
      {
              long tableau[4] = {65,42,96,78};
              ordonnerTableau(tableau, 4);
              return 0;
      }


      void ordonnerTableau(long tableau[], long tailleTableau)
      {

          int i;
          long ia = 96,ib = 78,ic = 65,id = 42;
          for (i = 0 ; i < tailleTableau ; i++)
          {

              tableau[i] = tableau[ia] > tableau[ib] > tableau [ic] > tableau[id];

              printf(" %ld \n" , tableau[i]);
          }




      }
      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2007 à 12:35:12

        @monster389 : dans la fonction "void tableau", il y a des trucs un pas nette :
        Il faudrait que tu refasse ta fonction avec des else if...
        Mais là il y a trop de if on s'embrouille...
        Faut que tu fasse tourner sur papier ton algo et tu veras ou sa plante.

        @GuIGuI32|23IuGIuG :
        tableau[i] = tableau[ia] > tableau[ib] > tableau [ic] > tableau[id];

        Sa sa va planter ou faire des effets de bords...
        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2007 à 12:42:46

          Oki mais je fais quoi alors ?
          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2007 à 12:45:31

            Il faut que tu trouves un algo qui trie bien avec des emboitements de if c'est pas trés dur mais il faut chercher...
            • Partager sur Facebook
            • Partager sur Twitter
              18 mai 2007 à 13:57:01

              Il faut que tu refasse ta fonction "void ordonnerTableau(long tableau[], long tailleTableau)".
              Car là elle ne fonctionne pas.
              Je te conceil de prendre un papier et de ragarder comment toi tu ferais pour trier et ensuite tu retranscrit en C la méthode.

              Car la meilleur arme d'un programmeur c'est le crayon et parfois la gomme !
              • Partager sur Facebook
              • Partager sur Twitter
                18 mai 2007 à 15:07:52

                c'est mieu ?

                #include <stdio.h>
                #include <stdlib.h>

                void ordonnerTableau(long tableau[], long tailleTableau);


                int main()
                {
                        long tableau[4] = {65,42,96,78};
                        ordonnerTableau(tableau, 4);
                        return 0;
                }


                void ordonnerTableau(long tableau[], long tailleTableau)
                {

                    int i;
                    long ia = 0,ib = 1,ic = 3,id = 4;
                    for (i = 0 ; i < tailleTableau ; i++)
                    {
                    if(tableau[ia] < tableau[1] && tableau[ia] < tableau[2])
                                   ia= tableau[0];

                                   else if(tableau[ia] < tableau[1] && tableau[ia] > tableau[2])
                                   ia= tableau[1] ;

                                  else if(tableau[ia] > tableau[1] && tableau[ia] > tableau[2])
                                   ia = tableau[2] ;




                             if(tableau[ia] < tableau[0] && tableau[ia] < tableau[1])
                                  { ib= tableau[0]; }

                                  else if(tableau[ib] < tableau[0] && tableau[ib] > tableau[1])
                                  { ib= tableau[1]; }

                                  else if(tableau[ic] > tableau[0] && tableau[ic] > tableau[1])
                                  { ib= tableau[2]; }



                                  if(tableau[ia] < tableau[1] && tableau[ia] < tableau[0])
                                  { ic= tableau[0]; }

                                  else if(tableau[ib] < tableau[1] && tableau[ib] > tableau[0])
                                  { ic= tableau[1]; }

                                  else if(tableau[ic] > tableau[1] && tableau[ic] > tableau[0])
                                  { ic= tableau[2]; }


                                if(tableau[ia] < tableau[1] && tableau[ia] < tableau[3])
                                  { id= tableau[0]; }

                                  else if(tableau[ib] < tableau[1] && tableau[ib] > tableau[3])
                                  { id= tableau[1]; }

                                  else if(tableau[ic] > tableau[1] && tableau[ic] > tableau[3])
                                  { id= tableau[2]; }

                    }


                                 printf("%ld\n", tableau[ia]);
                                 printf("%ld\n", tableau[ib]);
                                 printf("%ld\n", tableau[ic]);
                                 printf("%ld\n", tableau[id]);
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  18 mai 2007 à 15:16:57

                  j'avais deja trouver avant que tu poste, j'y ai penser pendant 3 jours au pb, j'ai la reponnse.

                  merci...
                  • Partager sur Facebook
                  • Partager sur Twitter

                  exo 5 sur les tableaux

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown