trier tableau
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

trier tableau



  1. #1
    invite11df21b5

    trier tableau


    ------

    Bonjour chers amis, voila je suis bloquer sur un exercice de triage de tableau, j'ai pour consigne d'entrer dans mon programme, 10 valeurs numeriques entieres(peu importe lesquels mais dans mon cas je prend celles la: 150; -350; 110; -420; 190; 300; 450; -360; -80; 380), le code source de mon programme est le suivant:

    Code:
    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <math.h>
    
    int main(int argc, char *argv[])
    
    {
    
        int i,c,j;
    
        int t[10];
    
        for(i=1;i<=10;i++)
    
        {
    
         printf("T[%d]= ",i);
    
         scanf("%d",&t[i]);
    
        }
    
            for(j=1;j<=10;j++)
    
             {
    
               for(i=1;i<=10;i++)
    
                {
    
                  if(t[i]>t[i+1])
    
                   {
    
                    c=t[i];
    
                    t[i]=t[i+1];
    
                    t[i+1]=c;
    
                    }
    
                    }
    
                    }
    
                      for(i=1;i<=10;i++)
    
                       {
    
                        printf("T[%d] = %d\n",i,t[i]);
    
                        }
    
    
    
      system("PAUSE");
    
      return 0;
    
    }
    Veuillez le compiler avec les valeurs donnez plus haut sil vous plait. Tout a l'air de marcher parfaitement, et en effet, ca marche. Lorsque vous prenez de petites valeurs, le trie est fait convenablement, mais quand les chiffres deviennent un peu plus grands, le trie se fait toujours mais la, IL Y A LA PRESENCE D'UNE VALEUR 100?????? A LA CASE 5.OR JE N'AI JAMAIS EU A TAPER 100 QUAND JENTRAIS LES VALEURS. FAITE L'ESSAI AVEC DAUTRES VALEUR AUTRES QUE LES MIENNES MAIS TRES GRANDES AUSSI, VOUS REMARQUEREZ QUE LE 100 EN CASE 5 REVIENT TOUJOURS, je ne comprend pas pourquoi, et je sollicite votre aide, suggestion rectifications, bout de code source, sont les bienvenue, merci a vous

    -----

  2. #2
    invite2d7144a7

    Re : trier tableau

    Bonjour,

    Graves erreurs dans ton code.

    En C, l'indices d'un tableau commencent toujours à 0, ce qui fait que pour un tableau de N éléments, les indices vont de 0 à N-1.

    Or, voyons
    Code:
        int t[10];
    
        for(i=1;i<=10;i++)
    Avec un tableau déclaré int t[10], les indices vont de 0 à 9. Tu as donc déjà un débordement systématique.

    Et voyons ailleurs :
    Code:
               for(i=1;i<=10;i++)
    
                {
    
                  if(t[i]>t[i+1])
    
    ...
    le t[i+1] ne fait qu'aggraver le débordement.

    Bref, à revoir.

  3. #3
    Jack
    Modérateur

    Re : trier tableau

    Je constate que l'indentation est toujours aussi aléatoire ...

    pas facile à suivre l'algo avec ce genre de présentation.

Discussions similaires

  1. trier un tableau
    Par invitec925f48a dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 30/03/2011, 21h22
  2. Lier des lignes et trier sous excel
    Par invitefdf2fc70 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 29/10/2008, 17h15
  3. Trier mes messages avec navigateur orange
    Par invite5b209bd5 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 18/08/2006, 23h34