Soyez le premier à donner votre avis sur cette source.
Vue 10 656 fois - Téléchargée 243 fois
#include <stdio.h> #include <stdlib.h> #include <windows.h> int main(int argc, char *argv[]) { DWORD deb, fin; int tmp,a,b,c,d,e; printf("nombres de chiffres a classer ?"); scanf("%i", &c); printf("nombres allent de 0 a ?"); scanf("%i", &d); printf("Voullez vous affichier les chiffre une foi classer ? (oui = 1; non = 0)"); scanf("%i", &e); int tab [2][d]; int tab2 [c]; for (a=0;a<c;a++) // Inscrit des nobres aleatoirement // tab2[a]=(rand()%d); // dans le tableau tab2 // deb = GetTickCount(); // debut du crono // for (a=0;a<c;a++) // fait autent de boucle qu'il y a de nombre a classer // { tmp=tab2[a]; if (tab[0][tmp] == tmp) // si le nombre a deja été classer, alors rejouté + 1 // tab[1][tmp] = tab[1][tmp] + 1; // a la desieme ligne de la colone tmp // else { tab[1][tmp] = 0; // si le chiffre n'a jamais été classer, inisialiser la desieme ligne de la colone tmp a 0 // tab[0][tmp] = tmp; } } if (e == 0) // si il ne fo pas affichier les chiffre // { //printf("chiffre classer du plus petit au plus grand : \n"); for (a=1;a<d;a++) // lire tout les casse de la 1ere ligne du tableau // { if (tab[0][a] == a) // si le N° de la case est le meme que le que le N° qu'il y a dedans // { //printf("%i\n", tab[0][a]); for (b=0;b<tab[1][a];b++) // boucle pour afficher plusieur foi les chiffre ki on apparu plusieur foi // { // printf("%i\n", tab[0][a]); } } } } if (e == 1) // si il fo affichier les chiffre // { printf("chiffre classer du plus petit au plus grand : \n"); for (a=1;a<d;a++) // lire tout les casse de la 1ere ligne du tableau // { if (tab[0][a] == a) // si le N° de la case est le meme que le que le N° qu'il y a dedans // { printf("%i\n", tab[0][a]); for (b=0;b<tab[1][a];b++) // boucle pour afficher plusieur foi les chiffre ki on apparu plusieur foi // { printf("%i\n", tab[0][a]); } } } } fin = GetTickCount(); //fin du crono printf("le tri a mi %d Ms", fin - deb); while(1==1); //Pause infini pour eviter que le programme se ferme une foi le trie terminé return 0; }
15 juil. 2004 à 23:54
en fait au résultat c du linéaire : t'empiles, tu dépiles...
apres tu peu avoir des compilo qui optimisent à fond et optenir le meme résultat en ayant ecrire une fonction récursive qu'en l'ayant déroulé et fait tout meme le systeme de pile.
seul l'assembleur reste la meilleur solution pour etre certain d'avoir une fonctions optimisée a fond ;)
15 juil. 2004 à 13:07
Et si tu regardes les commentaires des codes sources tu remarquera qu'il y en a quelques uns du genre : "ah oui je savais pas, mon prof d'info m'a dit le contraire"
Et merci pour l'info, je vais de ce pas acheter 1 bon livre d'algorithmique, je vais voir si je trouve un de ses bouquins
15 juil. 2004 à 12:35
15 juil. 2004 à 12:22
On m'avait affirmé qu'on ne pouvait pas """"supprimer la recursivité"""" dans le qsort sans deteriorer les performances
15 juil. 2004 à 00:25
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.