Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void printVetor(int *index, int *v, int n){
- int i;
- for (i = 0; i < n; i++)
- printf("%d : %d\n", index[i], v[i]);
- }
- void troca(int *x, int *y){
- int aux = *x;
- *x = *y;
- *y = aux;
- }
- void bubbleSort(int *v, int *index, int size){
- int i, j;
- for(i = 0; i<size-1; i++){
- for(j = 0; j < size-i-1; j++){
- if(v[j] > v[j+1]){
- troca(&v[j], &v[j+1]);
- troca(&index[j], &index[j+1]);
- }
- }
- }
- }
- void counting(int *v, int n, int k){
- int i, j;
- int *count = (int *) calloc(k+1, sizeof(int));
- int *index = (int *) malloc((k+1)*sizeof(int));
- for (i = 0; i < k+1; i++){
- index[i] = i;
- }
- for(i = 0; i<n; i++){
- while(v[i] > 0){
- count[v[i]%10]++;
- v[i] /= 10;
- }
- }
- bubbleSort(count, index, k+1);
- printVetor(index, count, k+1);
- free(count);
- free(index);
- }
- int main(){
- int x, y, i;
- scanf("%d%d", &x, &y);
- int size = y-x+1;
- int *v = (int *) malloc(size*sizeof(int));
- for (i = 0; i < size; i++)
- v[i] = x+i;
- counting(v, size, 9);
- free(v);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement