Write a C program to find the duplicate element in an array?

Find the duplicate number in array: For example, an array with length 5 contains numbers {1, 2, 3, 4, 4}, the duplicated number is 4. Suppose that the duplicated number in the array is m in given example. The sum of all numbers in the array, denoted as arrSum, should be the result of 1+2+...+(n-1)+m. It is not difficult to get the sum of 1+2+...+(n-1), which is denoted as sum. The duplicated number m will be the difference of arrSum and sum. Following C program demonstrates how do we detect a repeated element in an integer array?.

/* An array of size N contains numbers ranging from 1 to N-1.
   There is exactly one number is duplicated in the array.
   Write a C program to find the duplicated number?
*/
#include <stdio.h>
#define N 5
int main()
{
  int arr[N]; //contains integers from 1 to N-1
  int arrSum = 0; //sum of array elements
  int sum = (N * (N - 1)) / 2; //sum of 1 to N-1
  int i; //loop counter
  printf("Enter %d integers form 1 to %d, with one duplicate:", N, N-1);
  for (i = 0; i < N; i++)
  {
    scanf ("%d", &arr[i]);
    arrSum += arr[i];
  }
 
  printf("\nDuplicate number is: %d\n", arrSum - sum);
}



Get Free Tutorials by Email

About the Author

is the main author for cs-fundamentals.com. He is a software professional (post graduated from BITS-Pilani) and loves writing technical articles on programming and data structures.

Today's Tech News

Robotic barman pours Rory a pintPosted on Friday March 24, 2017

The BBC’s technology correspondent Rory Cellan-Jones gets a beer poured for him by a robotic barman - but how long does it take?

Row over US ISP customer data salesPosted on Friday March 24, 2017

US politicians have voted to let ISPs gather and sell data about what Americans do online.

Ofcom plans instant payback for broadband woesPosted on Friday March 24, 2017

Customers who suffer poor service could get automatic payouts under Ofcom's plan.

Courtesy BBC News