पूर्णांक एलिमेंट्स के एक ऐरे के साथ, डुप्लिकेट मानों को हटाकर विशिष्ट एलिमेंट्स को सॉर्टेड तरीके से प्रिंट करना है।
नीचे एक ऐरे दिया गया है जो पूर्णांक प्रकार के मानों को 4, 6, 5, 3, 4, 5, 2, 8, 7 और 0 के क्रम में संग्रहीत करता है। अब, परिणाम सॉर्टेड एलिमेंट्स को 0, 2, 3, 4, 4, 5, 5, 6, 7 और 8 के रूप में प्रिंट करेगा लेकिन इस परिणाम में अभी भी डुप्लिकेट मान 4 और 5 हैं जिन्हें हटा दिया जाना चाहिए और अंतिम परिणाम 0, 2, 3, 4, 5, 6, 7 और 8 होगा।

उदाहरण
इनपुट: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0}
आउटपुट: 0 2 3 4 5 6 7 8
व्याख्या
इसलिए, परिणाम प्राप्त करने के लिए हम:
- विशिष्ट एलिमेंट्स लें और इसे दूसरे ऐरे, array1 में संग्रहीत करें।
- array1 को सॉर्ट करें।
- array1 के मान प्रिंट करें।
एल्गोरिदम
शुरुआत
चरण 1: चर घोषित करें i, j, array1[size], temp, count = 0
चरण 2: i = 0 से size तक i++ लूप
j = i+1 से size तक j++ लूप
यदि array[i] == array[j] तो, ब्रेक
लूप समाप्त
यदि j == size तो, array1[count++] = array[i] असाइन करें
लूप समाप्त
चरण 3: i = 0 से count-1 तक i++ लूप
j = i+1 से count तक j++ लूप
यदि array1[i] > array1[j] तो, array1[i] और array[j] स्वैप करें
लूप समाप्त
लूप समाप्त
चरण 4: array1 प्रिंट करें
समाप्त
उदाहरण
#include <stdio.h>
/* ऐरे के विशिष्ट एलिमेंट्स प्रिंट करता है */
void printDistinctElements(int array[], int size) {
int i, j, array1[size], temp, count = 0;
for(i = 0; i < size; i++) {
for(j = i+1; j < size; j++) {
if(array[i] == array[j]) {
/* डुप्लिकेट एलिमेंट मिला */
break;
}
}
/* यदि j size के बराबर है, इसका मतलब हमने पूरा ऐरे ट्रैवर्स किया
और array[i] का डुप्लिकेट नहीं मिला */
if(j == size) {
array1[count++] = array[i];
}
}
// array1 को सॉर्ट करना जहां केवल विशिष्ट मान संग्रहीत हैं
for ( i = 0; i < count-1; i++) {
for ( j = i+1; j < count; j++) {
if(array1[i] > array1[j]) {
temp = array1[i];
array1[i] = array1[j];
array1[j] = temp;
}
}
}
for ( i = 0; i < count; ++i) {
printf("%d ", array1[i]);
}
}
int main() {
int array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0};
int n = sizeof(array)/sizeof(array[0]);
printDistinctElements(array, n);
return 0;
}
आउटपुट
यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा।
0 2 3 4 5 6 7 8