किसी सरणी में मौजूद समान संख्याओं को हटाने का प्रयास करें। परिणामी सरणी में अद्वितीय तत्व होते हैं।
किसी सरणी में डुप्लिकेट तत्वों को हटाने का तर्क इस प्रकार है -
for(i=0;i<number;i++){
for(j = i+1; j < number; j++){
if(a[i] == a[j]){
for(k = j; k <number; k++){
a[k] = a[k+1];
}
j--;
number--;
}
}
} डुप्लिकेट को हटाने के बाद संख्याओं को प्रदर्शित करने का तर्क इस प्रकार है -
for(i=0;i<number;i++){
printf("%d ",a[i]);
} कार्यक्रम
एक सरणी में डुप्लिकेट तत्वों को हटाने के लिए सी प्रोग्राम निम्नलिखित है।
#include<stdio.h>
#include<stdlib.h>
int main(){
int a[50],i,j,k, count = 0, dup[50], number;
printf("Enter size of the array\n");
scanf("%d",&number);
printf("Enter Elements of the array:\n");
for(i=0;i<number;i++){
scanf("%d",&a[i]);
dup[i] = -1;
}
printf("Entered element are: \n");
for(i=0;i<number;i++){
printf("%d ",a[i]);
}
for(i=0;i<number;i++){
for(j = i+1; j < number; j++){
if(a[i] == a[j]){
for(k = j; k <number; k++){
a[k] = a[k+1];
}
j--;
number--;
}
}
}
printf("\nAfter deleting the duplicate element the Array is:\n");
for(i=0;i<number;i++){
printf("%d ",a[i]);
}
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter size of the array 10 Enter Elements of the array: 1 1 2 4 3 5 6 5 7 1 Entered element are: 1 1 2 4 3 5 6 5 7 1 After deleting the duplicate element, the Array is: 1 2 4 3 5 6 7