Partage
  • Partager sur Facebook
  • Partager sur Twitter

probléme tri par selection (aider moi svp

    2 juin 2008 à 23:48:34

    bonsoir tous le monde.
    j'ai un problème avec mon prog en c++ et voici les details:


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


    void permuter(int *a,int *b)
    {
    int c;
    c=*a;
    *a=*b;
    *b=c;
    }
    void tri_select(int n,int tab[100])
    {
    int i,j,k;
    for(i=0;i=n-1;i++)
    {j=i;
    for(k=i+1;k=n;k++)
    {if(tab[k]<tab[j]) j=k;}
    permuter(&tab[j],&tab[n]);
    }};
    main()
    {
    int n,i;
    int tab[100];
    printf("donner le nombre d element du tableau\n");
    scanf("%d",&n);
    printf("donner les valeur du tableau\n");
    for(i=0;i<=n;i++)
    scanf("%d",tab[n]);
    printf("le tri de tableau par selection");
    tri_select(n,tab);
    for(i=0;i<=n;i++)
    printf("tab[%d] = %d\n",i,*tab);

    system("pause");
    }

    quand j'exécute le prog ,et au moment où le main() fait appelle à la procédure tri_select le prog se bloc , il reste comme ça c'est comme ci il attend une entrée

    merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      3 juin 2008 à 4:28:19

      Des pointeurs là où des références auraient fait l'affaire, des appels à printf() et scanf()... Hum, désolé de te contredire, mais ce n'est pas du C++, c'est du C.

      Quant au problème, difficile de voir sans la balise code...

      Bon, moi j'aurais remplacé ça par un appel à std::sort(), mais si ce que tu veux est apprendre comment un tri par sélection fonctionne, alors je comprends que tu l'ai fait ainsi.

      En passant, c'est normal, le 100 à cet endroit?
      void tri_select(int n,int tab[100])
      
      • Partager sur Facebook
      • Partager sur Twitter
        3 juin 2008 à 9:13:01

        Merci d'utilise les balises de code.

        #include<stdlib.h>
        #include<stdio.h>
        
        
        void permuter(int *a,int *b)
        {
        int c;
        c=*a;
        *a=*b;
        *b=c;
        }
        void tri_select(int n,int tab[100])
        {
        int i,j,k;
        for(i=0;i=n-1;i++)
        {j=i;
        for(k=i+1;k=n;k++)
        {if(tab[k]<tab[j]) j=k;}
        permuter(&tab[j],&tab[n]); 
        }};
        main()
        {
        int n,i;
        int tab[100];
        printf("donner le nombre d element du tableau\n");
        scanf("%d",&n);
        printf("donner les valeur du tableau\n");
        for(i=0;i<=n;i++)
        scanf("%d",tab[n]);
        printf("le tri de tableau par selection");
        tri_select(n,tab);
        for(i=0;i<=n;i++)
        printf("tab[%d] = %d\n",i,*tab);
        
        system("pause");
        }
        


        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.

        probléme tri par selection (aider moi svp

        × 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