Advertisement
Guest User

Untitled

a guest
Dec 14th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <time.h>
  5.  
  6. #define size 10
  7.  
  8. int rang(int tab[], int valeur, int min, int max) {
  9. if (min > max) {
  10. if(valeur>tab[min]{
  11. return min+1;
  12. else return min;
  13. }
  14. int middle = (min + max) / 2;
  15. if (tab[middle] <= valeur) {
  16. return rang(tab, valeur, middle + 1, max);
  17. }
  18. else
  19. return rang(tab, valeur, min, middle - 1);
  20. }
  21.  
  22.  
  23. void triInsertionDico(int tab[]) {
  24. int i, j, val, position;
  25. for (i = 1; i < size; i++) {
  26. val = tab[i];
  27. position = rang(tab, val, 0, i - 1);
  28. for (j = i - 1; j >= position; j--) {
  29. tab[j + 1] = tab[j];
  30. }
  31. tab[j] = val;
  32. }
  33. }
  34.  
  35. int main() {
  36. srand(time(NULL));
  37. int i, tab[size];
  38. for (i = 0; i < size; i++) {
  39. tab[i] = rand() % 50;
  40. printf("%d ", tab[i]);
  41. }
  42. triInsertionDico(tab, size);
  43. printf("\n");
  44. printf("Tableau : \n");
  45. for (int i = 0; i < size; i++) {
  46. printf("%d ", tab[i]);
  47. }
  48. system("pause");
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement