समस्या
दो लूप्स का उपयोग करके ऐरे में नॉन-रिपीटिंग एलिमेंट खोजें। एक वर्तमान एलिमेंट के लिए और दूसरा यह जांचने के लिए कि क्या कोई एलिमेंट पहले से ऐरे में मौजूद है या नहीं।
समाधान
नीचे दिए गए उदाहरण पर विचार करें:
15, 15, 16, 15, 13, 15
यहां, ऐरे में नॉन-रिपीटेड एलिमेंट्स 16 और 13 हैं।
एल्गोरिथ्म
ऐरे में यूनिक या नॉन-रिपीटेड एलिमेंट्स खोजने का एल्गोरिथ्म:
- ऐरे घोषित करें और रनटाइम पर ऐरे एलिमेंट्स इनपुट करें।
- ऐरे को ट्रैवर्स करना शुरू करें और जांचें कि क्या वर्तमान एलिमेंट पहले से ऐरे में मौजूद है या नहीं।
- यदि यह पहले से ऐरे में मौजूद है, तो ऐरे में अगले एलिमेंट पर जाएं और जारी रखें।
- यदि नहीं, तो उस एलिमेंट को नॉन-रिपीटिंग एलिमेंट के रूप में आउटपुट करें।
उदाहरण
ऐरे में यूनिक या नॉन-रिपीटेड एलिमेंट्स खोजने का C प्रोग्राम:
#include <stdio.h>
#include <stdlib.h>
int uniqueEle(int array[], int n) {
int i, j;
int count = 1;
for(i = 0; i < n; i++) {
for(j = 0; j < n; j++) {
if(array[i] == array[j] && i != j)
break;
}
if(j == n) {
printf("\nऐरे में यूनिक एलिमेंट्स [%d] : %d \n", count, array[i]);
++count;
}
}
return -1;
}
int main() {
int n, i;
printf("\nएलिमेंट्स की संख्या दर्ज करें: ");
scanf("%d", &n);
int array[n];
printf("\nऐरे एलिमेंट्स दर्ज करें: ");
for(i = 0; i < n; i++) {
scanf("%d", &array[i]);
}
uniqueEle(array, n);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित आउटपुट उत्पन्न करता है:
Run 1: एलिमेंट्स की संख्या दर्ज करें: 5 ऐरे एलिमेंट्स दर्ज करें: 11 11 15 16 13 ऐरे में यूनिक एलिमेंट्स [1] : 15 ऐरे में यूनिक एलिमेंट्स [2] : 16 ऐरे में यूनिक एलिमेंट्स [3] : 13 Run 2: एलिमेंट्स की संख्या दर्ज करें: 4 ऐरे एलिमेंट्स दर्ज करें: 11 12 11 11 ऐरे में यूनिक एलिमेंट्स [1] : 12