Advertisement
Guest User

Untitled

a guest
Oct 13th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void printVetor(int *index, int *v, int n){
  5. int i;
  6. for (i = 0; i < n; i++)
  7. printf("%d : %d\n", index[i], v[i]);
  8. }
  9.  
  10. void troca(int *x, int *y){
  11. int aux = *x;
  12. *x = *y;
  13. *y = aux;
  14. }
  15.  
  16. void bubbleSort(int *v, int *index, int size){
  17. int i, j;
  18. for(i = 0; i<size-1; i++){
  19. for(j = 0; j < size-i-1; j++){
  20. if(v[j] > v[j+1]){
  21. troca(&v[j], &v[j+1]);
  22. troca(&index[j], &index[j+1]);
  23. }
  24. }
  25. }
  26.  
  27. }
  28.  
  29. void counting(int *v, int n, int k){
  30. int i, j;
  31. int *count = (int *) calloc(k+1, sizeof(int));
  32. int *index = (int *) malloc((k+1)*sizeof(int));
  33. for (i = 0; i < k+1; i++){
  34. index[i] = i;
  35. }
  36. for(i = 0; i<n; i++){
  37. while(v[i] > 0){
  38. count[v[i]%10]++;
  39. v[i] /= 10;
  40. }
  41. }
  42. bubbleSort(count, index, k+1);
  43. printVetor(index, count, k+1);
  44. free(count);
  45. free(index);
  46. }
  47.  
  48. int main(){
  49. int x, y, i;
  50. scanf("%d%d", &x, &y);
  51. int size = y-x+1;
  52. int *v = (int *) malloc(size*sizeof(int));
  53. for (i = 0; i < size; i++)
  54. v[i] = x+i;
  55. counting(v, size, 9);
  56. free(v);
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement