Tri par fusion d'un tableau en c++

Résolu/Fermé
asma sisi Messages postés 96 Date d'inscription vendredi 29 août 2008 Statut Membre Dernière intervention 23 mars 2011 - 2 déc. 2008 à 21:40
 freon - 20 déc. 2008 à 10:47
Bonjour,
j'ai essayé de faire trier un tableau d'entiers en c++ mais ca ne marche pas
veuillez me corriger
le code est
#include<iostream>
using namespace std;

void saisie (int t[],int n)
{
for(int i=0;i<=(n-1);i++)
 {cout<<"t["<<i<<"]=";
  cin>>t[i];
  cout<<endl;
 }
}
void tri_fusion(int t[],int n)
{ int tmp;
/* le tri de la premiere partie du tableau*/
for(int i=0;i<=((n-1)/2)-1;i++)
  {for(int j=(i+1);j<=(n-1)/2;j++)
     {if(t[i]>=t[j])
       {tmp=t[i];
        t[i]=t[j];
        t[j]=tmp;
       }    
     }
  }
  
/*le tri d la deuxieme partie du tableau*/
 for(int i=((n-1)/2)+1;i<=(n-2);i++)
  {for(int j=(i+1);j<=(n-1);j++)
    {if(t[i]>=t[j])
     { tmp=t[i];
       t[i]=t[j];
       t[j]=tmp;    
     }
    }
  }
/*la fusion des deux partie du tableau*/
  for(int i=0;i<=((n-1)/2)-1;i++)
   {for(int j=((n-1)/2)+1;j<=(n-1);j++)
       {
        if(t[i]>t[j])
         {
          tmp=t[i];
          t[i]=t[j];
          t[j]=tmp; 
         } 
       }
   }
}

int main()
{int t[50],n;
cout<<"donner la taille du tableau";
cin>>n;

saisie(t,n);
tri_fusion(t,n);
for(int i=0;i<=(n-1);i++)
{cout<<t[i]<<"\t";
}
return 0;
}

A voir également:

2 réponses

salut
sa plante ou exactement ???
1