KAR98S

Calculating Frequency of Integers.c

Jan 26th, 2021 (edited)
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define En(i)   (2*i)
  6. #define On(i)   (2*i+1)
  7.  
  8. const int   none = -1;
  9.  
  10. typedef unsigned int    UINT;
  11.  
  12. UINT checkForVal(UINT* sort, UINT size, UINT num) {
  13.     for (int i = 0; i < size; i += 2) {
  14.         if (sort[i] == num)
  15.             return i;
  16.     }
  17.     return none;
  18. }
  19.  
  20. UINT init(int* arr) {
  21.     UINT size, i, shift;
  22.     srand((UINT)time(NULL));
  23.     size = rand()%30+20;
  24.     shift = rand() % 241;
  25.     for (i = 0; i < size; i++) {
  26.         arr[i] = (rand() % 15) + shift;
  27.     }
  28.     return size;
  29. }
  30.  
  31. int main() {
  32.     UINT arr[256] = { 0 }, aSize = 0;
  33.     UINT sort[512] = { 0 }, sSize = 0;
  34.     UINT holder = 0, frequency, tmp;
  35.     aSize = init(arr);
  36.     printf("Sample numbers: ");
  37.     for (UINT i = 0; i < aSize; i++) {
  38.         printf("%d, ", arr[i]);
  39.     }
  40.  
  41.     for (UINT i = 0; i < aSize; i++, frequency = 0) {
  42.         holder = arr[i];
  43.         tmp = checkForVal(sort, sSize, holder);
  44.         if (tmp == none) {
  45.             sort[sSize] = holder;
  46.             sort[sSize + 1]++;
  47.             sSize += 2;
  48.         }
  49.         else {
  50.             sort[tmp + 1]++;
  51.         }
  52.     }
  53.  
  54.     printf("\nFrequency:-");
  55.     for (UINT i = 0; i < sSize; i += 2) {
  56.         printf("\n%d - %d", sort[i], sort[i + 1]);
  57.     }
  58.     return 0;
  59. }
Add Comment
Please, Sign In to add comment