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.