Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना


पूर्णांक एलिमेंट्स के एक ऐरे के साथ, डुप्लिकेट मानों को हटाकर विशिष्ट एलिमेंट्स को सॉर्टेड तरीके से प्रिंट करना है।

नीचे एक ऐरे दिया गया है जो पूर्णांक प्रकार के मानों को 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 होगा।

C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना

उदाहरण

इनपुट: 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

  1. - JavaScript में ऐरे के विशिष्ट एलिमेंट्स का योग

    मान लीजिए हमारे पास ऐसा नंबर्स का ऐरे है:const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1];हमें एक जावास्क्रिप्ट फंक्शन लिखना है जो ऐसा ऐरे ले और ऐरे के सभी विशिष्ट एलिमेंट्स का योग गिने।उदाहरण के लिए:उपरोक्त ऐरे के लिए आउटपुट होगा:30उदाहरणइसके लिए कोड:const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1]

  1. - डायनामिकली सरणी बनाकर तत्वों का योग प्रिंट करने के लिए C प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है। हमें आकार n की एक सरणी डायनामिकली बनानी है और एक-एक करके n संख्याएं लेनी हैं, फिर योग ज्ञात करना है। सरणी बनाने के लिए हम malloc() या calloc() फंक्शन का उपयोग कर सकते हैं जो stdlib.h हेडर फाइल में मौजूद है। n का मान भी stdin के माध्यम से इनपुट के रूप में प्रदान कि

  1. C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें? C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें?

    पॉइंटर क्या है? पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता स्टोर करता है। निम्नलिखित स्टेटमेंट पर विचार करें: int qty = 179; पॉइंटर घोषित करना पॉइंटर घोषित करने का सिंटैक्स निम्नलिखित है: int *p; यहां, p एक पॉइंटर वेरिएबल है जो दूसरे वेरिएबल का पता रखता है। पॉइंटर का इनिशियलाइज़ेशन एड्रेस ऑपरेटर