Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void afficheTableau(int tab[], int nbElem){
- int b;
- printf("[");//il a demandé d'afficher le tableau sous cette forme : [e1, e2, e3, ... ] donc il faut afficher un crochet avant et apres l'affichage du tableau
- // il fait egalement apres l'affichage de chaque element afficher une virgule [e1, e2, e3, ... ]
- for(b=0;b<nbElem-1;b++){
- printf("%d, ",tab[b]); // j'ai ajouté une virgule apres %d
- }
- printf("%d ]",tab[nbElem-1] ); // dans la boucle for j'ai enlevé l'affichage du dernier element
- }
- typedef int* TABLEAU;
- TABLEAU genereTableau(int nbElem, int valMax){
- TABLEAU t = (TABLEAU) malloc(nbElem * sizeof(int));
- if (t != NULL){
- int i;
- for (i=0; i<nbElem; i++){
- t[i] = rand()%(valMax + 1);
- }
- return t;
- }}
- void tri_par_denombrement(int tab[],int nbElem, int valMax, int resultat[]){
- int E[valMax+1],i,j,indice;
- for (i=0 ;i<valMax+1;i++){
- E[i]=0;
- }
- for (i=0 ;i<nbElem;i++){
- E[tab[i]]= E[tab[i]]+1;
- }
- indice=0;
- for (i=0 ;i<nbElem;i++){
- for (j=0 ;j<E[i];j++){
- resultat[indice]=i;
- indice++;
- }
- }
- printf("\n");
- afficheTableau(E,valMax);
- }
- int main()
- {
- int taille=8,max=7;
- int *tab=genereTableau(taille,max);
- int resultat[taille];
- afficheTableau(tab, taille);
- tri_par_denombrement(tab,taille, max,resultat);
- afficheTableau(resultat,taille);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement