C Program Count the Number of Occurrences of an Element in the Linked List using Recursion
Posted by Superadmin on December 09 2015 04:49:13
This C Program uses recursive function & finds the occurrence for an element in an unsorted list. The user enters the element need to be counted.
Here is the source code of the C program to find the number of occurrences of a given number in a list. The C Program is successfully compiled and run on a Linux system. The program output is also shown below.
/*
 * C program to find the number of occurences of a given number in a 
 * list
 */
#include <stdio.h>
 
void occur(int [], int, int, int, int *);
 
int main()
{
    int size, key, count = 0;
    int list[20];
    int i;
 
    printf("Enter the size of the list: ");
    scanf("%d", &size);
    printf("Printing the list:\n");
    for (i = 0; i < size; i++)
    {
        list[i] = rand() % size;
        printf("%d    ", list[i]);
    }
    printf("\nEnter the key to find it's occurence: ");
    scanf("%d", &key);
    occur(list, size, 0, key, &count);
    printf("%d occurs for %d times.\n", key, count);
    return 0;
}
 
void occur(int list[], int size, int index, int key, int *count)
{
    if (size == index)
    {
        return;
    }
    if (list[index] == key)
    {
        *count += 1;
    }
    occur(list, size, index + 1, key, count);
}
$ cc pgm13.c
$ a.out
Enter the size of the list: 7
Printing the list:
1    4    2    5    1    3    3
Enter the key to find it's occurence: 3
3 occurs for 2 times.