fork download
  1. #include <stdio.h>
  2.  
  3. void CountingSort(int array[], int k, int n)
  4. {
  5. int i, j;
  6. int B[100], C[1000];
  7. for (i = 0; i <= k; i++){
  8. C[i] = 0;
  9. }
  10. for (j = 0; j < n; j++){
  11. C[array[j]]++;
  12. }
  13. for (i = 1; i <= k; i++){
  14. C[i] += C[i-1];
  15. }
  16. for (j = 0; j < n; j++) {
  17. B[--C[array[j]]] = array[j];
  18. }
  19. printf("The Sorted array is : ");
  20. for (i = 0; i < n; i++) {
  21. printf("%d ", B[i]);
  22. }
  23. }
  24.  
  25.  
  26. void max(int array[],int *k,int n){
  27. int i;
  28. printf("n je %d\n",n);
  29. for (i = 0; i < n; i++)
  30. {
  31. if (array[i] > *k) {
  32. *k = array[i];
  33. }
  34. }
  35. }
  36.  
  37. int main(int brArg,char *arg[])
  38. {
  39.  
  40. int array[100];
  41. int i=0,k=0,n;
  42.  
  43.  
  44. while(scanf("%d", &array[i])!=EOF)i++;
  45.  
  46. n=i;
  47.  
  48. max(array,&k,n);
  49. printf("Max je %d\n",k);
  50. CountingSort(array,k,n);
  51. return 0;
  52.  
  53. }
  54.  
Success #stdin #stdout 0s 2012KB
stdin
1 6 8 3 2 9 0 5 9 7 1 9 5 1 2 3 9 8 7 6 4 1 2
stdout
n je 23
Max je 9
The Sorted array is : 0 1 1 1 1 2 2 2 3 3 4 5 5 6 6 7 7 8 8 9 9 9 9