begin process at 2012 02 09 19:26:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > SYSTÈME DE TRI ET COMPTAGE

SYSTÈME DE TRI ET COMPTAGE


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :tri, comptage Niveau :Débutant Date de création :14/02/2006 Vu :6 688

Auteur : wizad

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Voici un exercice donné en première année de DUT Mesures Physiques. Il est assez basique mais donne un moyen simple de réaliser un tri. Pour l'algorythme de comptage je suis pas sur qu'il soit vraiment optimal. Mais bon vu que c'est mon premier code C...
Petite précision il à été testé avec le compilateur gcc sous linux (débian).

Source

  • /* 10 02 2006 Tri et Comptage */
  • /* Auteur : William POTTIER */
  • #include <stdio.h>
  • main()
  • {
  • /* Variables générale */
  • int k, N, j, kmini, kmaxi;
  • double mini, notes[3001];
  • /* Variables de comptages */
  • int comptage[3001], i;
  • double note;
  • /* Acquisition de N */
  • printf(" Recherche d'un minimum");
  • printf(" Nombre total de notes a saisir ? ");
  • scanf("%d",&N);
  • /* Acquisition des notes */
  • printf("Entrez les notes:\n");
  • for(k=0;k<N;k++)
  • {
  • printf("Note %d: ",k+1);
  • scanf("%lf", &notes[k]);
  • }
  • /* On mets une ligne de séparation */
  • printf("===========================================\n");
  • /* Tri */
  • for(j=0; j<(N-1); j++)
  • {
  • mini = notes[j];
  • kmini = j;
  • for(k=j+1; k < N; k++)
  • {
  • if(mini > notes[k])
  • {
  • mini = notes[k];
  • kmini = k;
  • }
  • }
  • notes[kmini] = notes[j];
  • notes[j] = mini;
  • }
  • /* Comptage */
  • i=0;
  • kmaxi = N-1;
  • for(k=notes[0]; k < notes[kmaxi]+1; k++)
  • {
  • for(j = 0; j < N; j++)
  • {
  • if(notes[j] == k)
  • {
  • comptage[i] = comptage[i] + 1;
  • }
  • }
  • i++;
  • }
  • /* Affichage des notes triées */
  • printf("Note(s) triée(s) :\n");
  • note = notes[0];
  • for(k = 0; k < (notes[kmaxi] - notes[0] + 1) ; k++)
  • {
  • printf("%lf (%d)\n", note, comptage[k]);
  • note++;
  • }
  • /* Fin du programe */
  • printf("*******************************************\n");
  • printf("*** Merci d'avoir utilisé ce programme! ***\n");
  • printf("*******************************************\n");
  • }
/* 10 02 2006 Tri et Comptage */ 
/* Auteur : William POTTIER */
#include <stdio.h>

main()
{
	/* Variables générale */
	int k, N, j, kmini, kmaxi;
	double mini, notes[3001];
	/* Variables de comptages */
	int comptage[3001], i;
	double note;
	
	
	/* Acquisition de N */
	printf(" Recherche d'un minimum");
	printf(" Nombre total de notes a saisir ? ");
	scanf("%d",&N);
	
	/* Acquisition des notes */
	printf("Entrez les notes:\n");
	for(k=0;k<N;k++)
	{
		printf("Note %d: ",k+1);
		scanf("%lf", &notes[k]);
	}
	/* On mets une ligne de séparation */
	printf("===========================================\n");
	
	/* Tri */
	for(j=0; j<(N-1); j++)
	{
		mini = notes[j];
		kmini = j;
		
		for(k=j+1; k < N; k++)
		{
			if(mini > notes[k])
			{
				mini = notes[k];
				kmini = k;
			}

		}

		notes[kmini] = notes[j];
		notes[j] = mini;

		
	}

	/* Comptage */
	i=0;
	kmaxi = N-1;
	for(k=notes[0]; k < notes[kmaxi]+1; k++)
	{
		for(j = 0; j < N; j++)
		{
			if(notes[j] == k)
			{
			comptage[i] = comptage[i] + 1;
			}
		}
		i++;
	}
	
	
	/* Affichage des notes triées */
	printf("Note(s) triée(s) :\n");
	note = notes[0];
	for(k = 0; k < (notes[kmaxi] - notes[0] + 1) ; k++)
	{
		printf("%lf (%d)\n", note, comptage[k]);
		note++;
	}	
	
	/* Fin du programe */
	printf("*******************************************\n");
	printf("*** Merci d'avoir utilisé ce programme! ***\n");
	printf("*******************************************\n");
}

 Conclusion

Je suis ouvert à toutes remarques et suggestion pour progresser alors n'hésitez pas.


 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili
Source avec Zip Source avec une capture ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROI... par Thuzhen
Source avec Zip COMPARATIF DES TRIS QUADRATIQUE par gnairod
Source avec Zip COMBSORT ALGORITHME DE TRI SIMPLE RAPIDE NON-RECURSIF par xtremejames183
Source avec Zip LE QUICKSORT NON-RECURSIF ET L'IMPACT DE L'INSERTIONSORT SUR... par nickydaquick

Commentaires et avis

Commentaire de wxccxw le 14/02/2006 12:42:38

c'est pas mal et bien penser
mais pour des trucs tel que

#    printf("*******************************************\n");
#     printf("*** Merci d'avoir utilisé ce programme! ***\n");
#     printf("*******************************************\n");

tu pourai faire un seul printf :) enfin la je chipote :) je te met 8/10

Commentaire de chris223 le 14/02/2006 13:48:42

Feliciations

Commentaire de said78vf le 21/02/2006 16:07:17

ton programme est bien mais pas optimisé comme tu l'a dis par exemple tu déclare un tableau de 3001 notes d'ou un certain gaspillage de mémoire : la solution serait de créer un tableau de taille variable soit en utilisant l'allocation dynamique de mémoire soit les listes chainées  et aussi revoir l'algorithme de tri. je posterai le mien ce soir si j'ai le tps. autrement rien à dire : excellente indentation , on relis très bien ce programme, très propre. je te met aussi 8/10 car tu précise que c'est ton premier code en C. Continue comme ça!

Commentaire de wizad le 27/02/2006 17:26:36

pour le tableau je sais pas comment faire mieux : on en est pas encore au tableau de taille variable en cours.
Pour l'algorythme de tri c'est le mieux que j'ai trouvé pendant l'amphi ^^.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

tri par comptage et tri de dijkstra. urgent!!! et au secours!!! [ par magicoz ] Bonjour, j'aurais voulu avoir de l'aide pour les tris par comptage et dijkstra.Je ne comprend pas le principe.Est-ce que quelqu'un peut m'expliquer et a l'aide!!!!?!? programme equivalent au DIR de Dos [ par rouxc ] Ce programme doitpermettre de lister des fichiers en parcourant les sous-répertoires avecquelques options de tri pour la sélection et l'affichage des Help :: Tri-Fusion itératif !! [ par daarkon666 ] Salut !! Je planche actuellement sur une version itérative du Tri-Fusion, et y a un pb : je ne vois pas comment écrire la fonction fusion qui se charg Pb de tri et taille de tableaux [ par daarkon666 ] Salut !!Je viens de terminer le tri/fusion itératif (et d'autres algos de tri, pr un projet info de fac) en C, et je suis soumis à un pb auss ibien so j'utilise qsort pour le tri mais il faut créer des fonctions globales [ par djmix73 ] Comment fait on pour créer des fonctions globale avec visual c++6 pour quel se mette dans le dossier globale? qsort, explications SVP! [ par benji86446 ] Salut, je débute en C++, et je voudrais avoir les informations nécessaires pour faire fonctionner le tri recursif avec qsort. Voila le principe de mon Recherche tri d'un tableau d'adresse objet [ par rtnode ] Bonjour à tous,je soumets un problème qui me semble à priori trés banal mais dont je n'ai pas trouvé de bonne solution.Dans nombre de cas, je dispose problème tri d'une liste d'objet ! [ par tomsawyerbelgique ] Bonjour, j'aimerais savoir comment on fait pour surdéfinir un foncteur de tri de liste d'objet. C'est objet sont des pointeurs sur une structure et la comptage d'affluence client en fonction des horaires [ par Bart293 ] Bonjour a tous!!! je suis en BTS informatique et réseau et je chercher a concevoir un petit prog afin de compter l'affluence des clients dans un petit Tri Tas avec arbre P-aire [ par LiGrAnD ] bonjour, j'ai besoin de programmer un tri par tas generaliser aux arbres p-aire et non pas binaire comme habituellement.pourriez vous m'aider car la j


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales