C PROGRAM TO FIND COUNT OF DUPLICATE ELEMENTS IN AN ARRAY
In this post we will see a simple C program to find the count of duplicate elements in an Array.
In below program we will get the count of elements that are duplicated i.e. elements that are occurred more than once in an array.
Example :
Suppose the elements of array are : 10,20,30,10,10
Here the element 10 is repeated 3 times in array, it means it is duplicated 2 more times and remaining elements occurred only once. Hence its output will be 2.
Program Algorithm :
Step 1: Read size of array and store it in nStep 2: If n (i.e size of array) is greater than MAX, print message and exit programStep 3: Read elements of array and store in arr[MAX] , here MAX is a global variable whose valueis 25 in the program belowStep 4: Initialize count = 0, to avoid garbage valuesStep 5: Set i = 0Step 6: Set j = i+1Step 7: Check for duplicate, if arr[i] = arr[j] then increment count by 1 i.e. count = count + 1Step 8: Increment j by 1 i.e. j = j + 1 and repeat Step 7 till j<nStep 9: Increment i by 1 i.e. i = i + 1 and repeat Step 6-7 till i<nStep 10: Print the count and exit program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include<stdio.h> #define MAX 25 //maximum size of array is 25 main() { int i,j,n,count,arr[MAX]; printf(" *** www.ProgrammingPosts.com ***"); printf("\n >>> C program to count duplicate elements in an array <<<"); //taking size of array as input from user printf("\n\n Enter the size of array: "); scanf("%d",&n); //checking if n value greater than MAX size of array if(n > MAX) { printf(" Max Array size allowed is %d",MAX); getch(); return; //terminates program execution } printf("\n Enter the %d elements of array: \n",n); //Reading the elements of array using for loop for(i=0;i<n;i++) { printf("\n arr[%d]:",i); scanf("%d",&arr[i]); } //initializing the count to 0, to avoid garbage value count =0; //Counting the duplicate elements in Array for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { /* If duplicate found then increment count by 1 */ if(arr[i]==arr[j]) { count++; break; } } } printf("\n Count of duplicate elements in an array : %d\n",count); getch(); return 0; } |
Sample output :
Sample output text :
*** www.ProgrammingPosts.com ***>>> C program to count duplicate elements in an array <<<Enter the size of array: 5Enter the 5 elements of array:arr[0]:10arr[1]:20arr[2]:30arr[3]:10arr[4]:20Count of duplicate elements in an array : 2
No comments:
Post a Comment
Thanks for your comments.
-Sameer