Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define En(i) (2*i)
- #define On(i) (2*i+1)
- const int none = -1;
- typedef unsigned int UINT;
- UINT checkForVal(UINT* sort, UINT size, UINT num) {
- for (int i = 0; i < size; i += 2) {
- if (sort[i] == num)
- return i;
- }
- return none;
- }
- UINT init(int* arr) {
- UINT size, i, shift;
- srand((UINT)time(NULL));
- size = rand()%30+20;
- shift = rand() % 241;
- for (i = 0; i < size; i++) {
- arr[i] = (rand() % 15) + shift;
- }
- return size;
- }
- int main() {
- UINT arr[256] = { 0 }, aSize = 0;
- UINT sort[512] = { 0 }, sSize = 0;
- UINT holder = 0, frequency, tmp;
- aSize = init(arr);
- printf("Sample numbers: ");
- for (UINT i = 0; i < aSize; i++) {
- printf("%d, ", arr[i]);
- }
- for (UINT i = 0; i < aSize; i++, frequency = 0) {
- holder = arr[i];
- tmp = checkForVal(sort, sSize, holder);
- if (tmp == none) {
- sort[sSize] = holder;
- sort[sSize + 1]++;
- sSize += 2;
- }
- else {
- sort[tmp + 1]++;
- }
- }
- printf("\nFrequency:-");
- for (UINT i = 0; i < sSize; i += 2) {
- printf("\n%d - %d", sort[i], sort[i + 1]);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment