Un-sortiertes Array and Sortiertes Array

How to write a C Program Count Sort Calculate Counts / Un-sortiertes Array and Sortiertes Array in C Programming Language ?


Solution:


  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "input_blatt01.h"
  4.  
  5. int MAX_LAENGE = 1000;
  6. int MAX_VALUE = 100;
  7. int i,k,j;
  8. void count_sort_calculate_counts(int input_array[], int len, int count_array[])
  9. {
  10.     for (i=0; i<len;i++)
  11.     {
  12.         count_array[i] = 0;
  13.     }
  14.     for (j=0; j<len;j++)
  15.     {
  16.         count_array[input_array[j]] = count_array[input_array[j]] + 1;
  17.     }
  18. }
  19.  
  20. void count_sort_write_output_array(int output_array[], int len, int count_array[])
  21. {
  22.     k=0;
  23.     for (j=0;j<len;j++)
  24.     {
  25.         for (i=0; i<count_array[j]; i++)
  26.         {
  27.             output_array[k] = j;
  28.             k = k + 1;
  29.         }
  30.     }
  31. }
  32.  
  33.  
  34.  
  35. int main(int argc, char *argv[]) {
  36.  
  37.     if (argc < 2){
  38.         printf("Aufruf: %s <Dateiname>\n", argv[0]);
  39.         printf("Beispiel: %s zahlen.txt\n", argv[0]);
  40.         exit(1);
  41.     }
  42.  
  43.     char *filename = argv[1];
  44.    
  45.     int input_array[MAX_LAENGE];  
  46.     int len = read_array_from_file(input_array, MAX_LAENGE, filename);
  47.  
  48.     printf("Unsortiertes Array:");
  49.     print_array(input_array, len);
  50.     int count_array[MAX_LAENGE];
  51.     int output_array[MAX_LAENGE];
  52.     count_sort_calculate_counts(input_array, len, count_array);
  53.     count_sort_write_output_array(output_array, len, count_array);
  54.  
  55.     printf("Sortiertes Array:");
  56.     print_array(output_array, len);
  57.  
  58.     return 0;
  59. }


Learn More :