Tri shell

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 557 fois - Téléchargée 39 fois

Contenu du snippet

petit prog pour trier un tableau de chiffres...

Source / Exemple :


#include <iostream.h>
//////////prototypes//////////
entree ();
print ();
tric();
trid();
//////////variables globales//////////
int n;
float tab [20];
//////////fonction principale//////////
void main()
{
char a;
cout<<"     fonction tri SHELL\n";
cout<<"     *******************\n\n\n";
entree () ;
print ()   ;
do
	{
   cout<<endl<<"voulez vous un tri croissant(c) ou décroissant(d)";
   cin>>a;
   }
while ( a!='c' && a!='d');
if (a=='c')
	{
   tric();
   }
if (a=='d')
	{
   trid();
   }

cout<<endl<<"après le tri:"<<endl;
print();
}

//////////entrée des nombres//////////
entree ()
{
int i;
do
   {
	cout<<"entrez le nombre d' elements a trier(max: 20):";
	cin>>n;
	}
while (n>20);
for (i=0;i<n;i++)
	{
   cout<<endl<<"entrez le nombre n°"<<(i+1)<<":";
   cin>>tab[i];
   }
}
//////////affichage des nombres//////////

print ()
{
int i;
cout<<"le tableau vaut:"<<endl;
for (i=0;i<n;i++)
	{
   cout<<tab[i]<<"	  ";
   }

}
//////////fonction tri croissant//////////
tric ()
{
int i,A=n;
float x;
bool b=0;
do
	{
   A=A/2;
	do
		{
   	b=0;
   	for(i=0;i<n-A;i++)
   		{
      	if(tab[i]>tab[i+A])
      		{
            b=1;
         	x=tab[i];
         	tab[i]=tab[i+A];
         	tab[i+A]=x;
         	}
      	}
		}
	while (b==1);
   }
while(A!=1);
}
//////////fonction tri décroissant//////////
trid ()
{
int i,A=n;
float x;
bool b=0;
do
	{
   A=A/2;
	do
		{
   	b=0;
   	for(i=0;i<n-A;i++)
   		{
      	if(tab[i]<tab[i+A])
      		{
            b=1;
         	x=tab[i];
         	tab[i]=tab[i+A];
         	tab[i+A]=x;
         	}
      	}
		}
	while (b==1);
   }
while(A!=1);
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
3 mai 2005

Peut on m'expliquer a quoi ca sert de publier un code quand on a programmé comme un porc rien que pour soit !
Moi j'ai vite fait regardé le code, c'est pourtant un truc tres simple ton tri et tu réussi a en faire quelque chose de compliqué !
Je vais vous en envoyé un clair et facile ! lol
Messages postés
33
Date d'inscription
dimanche 16 mai 2004
Statut
Membre
Dernière intervention
24 mars 2005

Bon ya deux points la :
1) Code illisible.
2) C'est dans le principe du tri shell, MAIS CA NE L'EST PAS. (Site de l'ANSI)
vi, plus rapide, mais plus dur a faire, je viens de le terminer celui là et il m' a donné du fil a retordre... je le publierai qd j' aurais le temps, d' ailleur, je l' ai recherché en vaint sur le net(beaucoup de truc mais incomprehensible)
Une méthode encore plus rapide pour effectuer un tri : le quick-sort. Fonction standard qsort().

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.