Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void afficheTableau(int tab[], int nbElem){
  4. int b;
  5. 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
  6. // il fait egalement apres l'affichage de chaque element afficher une virgule [e1, e2, e3, ... ]
  7. for(b=0;b<nbElem-1;b++){
  8. printf("%d, ",tab[b]); // j'ai ajouté une virgule apres %d
  9. }
  10. printf("%d ]",tab[nbElem-1] ); // dans la boucle for j'ai enlevé l'affichage du dernier element
  11.  
  12. }
  13. typedef int* TABLEAU;
  14. TABLEAU genereTableau(int nbElem, int valMax){
  15. TABLEAU t = (TABLEAU) malloc(nbElem * sizeof(int));
  16. if (t != NULL){
  17. int i;
  18. for (i=0; i<nbElem; i++){
  19. t[i] = rand()%(valMax + 1);
  20. }
  21.  
  22. return t;
  23. }}
  24. void tri_par_denombrement(int tab[],int nbElem, int valMax, int resultat[]){
  25.  
  26. int E[valMax+1],i,j,indice;
  27. for (i=0 ;i<valMax+1;i++){
  28.  
  29. E[i]=0;
  30. }
  31. for (i=0 ;i<nbElem;i++){
  32.  
  33. E[tab[i]]= E[tab[i]]+1;
  34.  
  35.  
  36. }
  37. indice=0;
  38. for (i=0 ;i<nbElem;i++){
  39.  
  40.  
  41. for (j=0 ;j<E[i];j++){
  42.  
  43. resultat[indice]=i;
  44. indice++;
  45.  
  46. }
  47.  
  48. }
  49. printf("\n");
  50. afficheTableau(E,valMax);
  51.  
  52.  
  53. }
  54.  
  55. int main()
  56. {
  57. int taille=8,max=7;
  58. int *tab=genereTableau(taille,max);
  59. int resultat[taille];
  60. afficheTableau(tab, taille);
  61. tri_par_denombrement(tab,taille, max,resultat);
  62. afficheTableau(resultat,taille);
  63.  
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement