Trie un tablau d'entier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 296 fois - Téléchargée 31 fois

Contenu du snippet

ben il trie un tableau de 200 entiers par ordre croissant puis decroissant.
je sais, ca a deja ete fait, mon bon, ya je ne sais plus qui qui m'a demandé ca, donc, le voila
en fait, ca trie en faisant des comparations sur 1&2 puis (1&2 et 2&3) puis ....
et a la fin,on a ca dans le bon ordre.
cétypabolavi?

Source / Exemple :


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

#define val 200

void main(void)
{
	//les variables
	int ex;     
	int lim = val;
	int buffer[val];
	int i,j;
	
	printf("Trie un tableau de 200 valeurs\n Vous le sort par ordre décroissant, puis croissant");
	getchar();
	
                //on genere un tableau de nombre aleatoires
	for(i = 0;i < val;i++)
	{
		buffer[i] = rand();
	}
	
                //on affiche le tableau genere
	printf("Présentation du tableau non trié\n");   
	for(i = 0;i < val;i++)    
	{       
		printf("%i: %i\n",i,buffer[i]);
	}
	
	//on tri (on compare les cases 1&2 puis 1&2 et 2&3 puis 1&2 et 2&3 et 3&4 .......)
	for(i = 1;i < lim;i++)  
	{       
		for(j = i;j != 0;j --)        
		{           
			if(buffer[j] < buffer[j+1])             
			{                           
				ex = buffer[j];                 
				buffer[j] = buffer[j+1];                
				buffer[j+1] = ex;
			}
		}
	}
	//on affiche le tableau trié
	printf("Présentation du tableau trié en ordre décroissant:\n");     
	for(i = 0; i < val ;i++)   
	{       
		printf("%i: %i\n", i, buffer[i]);
	}
	printf("Présentation du tableau trié en ordre croissant:\n");
	
	j=0;    
	for(i = val; i != 0 ;i--)  
	{       
		printf("%i: %i\n", j, buffer[i]);       
		j++;
	}
}

Conclusion :


bon, insultes et éloges délirantes sont les biens venus

A voir également

Ajouter un commentaire Commentaires
Messages postés
360
Date d'inscription
samedi 27 septembre 2003
Statut
Membre
Dernière intervention
30 mai 2006

zinotron >> tes "é" s'affichent correctement ? c'est bizarre que tu les as laissé ! normalement tu les remplaces par "\202"
Messages postés
38
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
9 avril 2005

et si tu mettais des commentaires se serais mieux
Messages postés
65
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
11 septembre 2004

voila merci, j'ai copié/coller ta correction, ca passe bcp mieux.
merci :-)
Messages postés
360
Date d'inscription
samedi 27 septembre 2003
Statut
Membre
Dernière intervention
30 mai 2006

voilà déjà le code mieux rangé (et j'ai mis tous les "é")

Par contre le programme fonctionne bien (sans erreurs et warnings) mais il y a quand même un problème avec VC++ 6.0 mais pas envie de chercher :p


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

#define val 200

void main(void)
{
printf("Trie un tableau de 200 valeurs\n Vous le sort par ordre d\202croissant, puis croissant");
getchar();

int buffer[val];
int i,j;
for(i = 0;i < val;i++)
{
buffer[i] = rand();
}

printf("Pr\202sentation du tableau non tri\202\n");
for(i = 0;i < val;i++)
{
printf("%i: %i\n",i,buffer[i]);
}

int ex;
int lim = val;
for(i = 1;i < lim;i++)
{
for(j = i;j != 0;j --)
{
if(buffer[j] < buffer[j+1])
{
ex = buffer[j];
buffer[j] = buffer[j+1];
buffer[j+1] = ex;
}
}
}

printf("Pr\202sentation du tableau tri\202 en ordre d\202croissant:\n");
for(i = 0; i < val ;i++)
{
printf("%i: %i\n", i, buffer[i]);
}
printf("Pr\202sentation du tableau tri\202 en ordre croissant:\n");

j=0;
for(i = val; i != 0 ;i--)
{
printf("%i: %i\n", j, buffer[i]);
j++;
}
}
Messages postés
65
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
11 septembre 2004

suis sous nunux ...
vais voir ce que je peux faire ...
++
Afficher les 7 commentaires

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.