सरणी समान डेटा प्रकार की लंबाई के तत्वों का एक कंटेनर है जिसे पहले से परिभाषित करने की आवश्यकता है। और एक तत्व किसी भी क्रम में और किसी सरणी में कितनी बार प्रकट हो सकता है। इसलिए इस कार्यक्रम में हमें ऐसे तत्व मिलेंगे जो एक सरणी में एक से अधिक बार दिखाई देते हैं।
समस्या का विवरण - हमने एक सरणी दी है arr[] जिसमें हमें यह पता लगाना है कि कौन सा तत्व उन्हें प्रिंट करने के लिए सरणी में दोहरा रहा है।
इसे बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं।
उदाहरण
Input: arr[] = {5, 11, 11, 2, 1, 4, 2} Output: 11 2
स्पष्टीकरण
हमारे पास एक सरणी गिरफ्तारी है जिसमें कुछ तत्व शामिल हैं सबसे पहले हम डुप्लिकेट फ़ंक्शन में अगले तत्व से तत्व की तुलना करेंगे जिसका उपयोग सरणी में दोहराए गए तत्व को खोजने के लिए किया जाता है। डुप्लिकेट फ़ंक्शन में हम दिए गए सरणी में डुप्लिकेट तत्वों को खोजने के लिए लूप का उपयोग कर रहे हैं हम उपयोग करेंगे यदि सरणी तत्वों से सरणी तत्वों की गिनती की जांच करने के लिए अन्य स्थिति एक बार हुई तो गिनती 1 होगी यदि एक से अधिक बार होती है तो गिनती क्रमशः बढ़ाई जाएगी यदि गिनती 1 से अधिक है तो तत्व स्क्रीन पर मुद्रित हो जाएगा।
एल्गोरिदम
Input : arr[], n the length of array. Step 1 : For i -> 0 to n, Follow step 2, Step 2 : For each element of the array. Do : Step 2.1 : For j -> i to n repeat step 2.2 - 2.3. Step 2.2 : if (arr[i] == arr[j]) -> print arr[i] Step 2.3 : else {// do nothing}
उदाहरण
#include <stdio.h> int main() { int arr[] = {21, 87, 212, 109, 41, 21}; int n=7; printf("The repeat elements of the array are : "); int *count = (int *)calloc(sizeof(int), (n - 2)); int i; for (i = 0; i < n; i++) { if (count[arr[i]] == 1) printf(" %d ", arr[i]); else count[arr[i]]++; } return 0; }
आउटपुट
The repeat elements of the array are : 21