Question

Write a C Program to print the duplicate elements of an array.
In this program, you need to print the duplicate elements present in the array.

Answers

GPT-4o mini
Certainly! Below is a C program that identifies and prints the duplicate elements in an array. The program uses a simple nested loop approach to check for duplicates.

```c
#include <stdio.h>

int main() {
int n, i, j;

// Read the size of the array
printf("Enter the number of elements in the array: ");
scanf("%d", &n);

int arr[n]; // Declare the array

// Read the elements of the array
printf("Enter the elements of the array:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}

printf("Duplicate elements in the array are:\n");

// Check for duplicates
for (i = 0; i < n; i++) {
int isDuplicate = 0; // Flag to check if the element is already printed
for (j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
isDuplicate = 1; // It is a duplicate
break;
}
}

if (!isDuplicate) { // If not already marked as duplicate
for (j = i + 1; j < n; j++) {
if (arr[i] == arr[j]) {
printf("%d ", arr[i]);
break;
}
}
}
}

return 0;
}
```

### Explanation:
1. **Input the Size of the Array**: We first ask the user for the number of elements in the array.
2. **Input the Array Elements**: We then read the elements of the array from the user.
3. **Finding Duplicates**:
- We use two loops. The outer loop iterates through each element of the array.
- The inner loop (first) checks if the current element has already been printed as duplicate by comparing it with previous elements.
- The inner loop (second) checks how many times the current element appears later in the array.
4. **Output the Duplicates**: If a duplicate is found, it prints it.

### Note:
This program may not handle the case of larger arrays well since C does not manage memory automatically. For larger datasets or more efficient duplicate handling, consider using hash tables or sorting algorithms along with a linear scan.

Related Questions