Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में एक सरणी में अलग-अलग तत्वों की गणना करें

हमें दोहराए जाने वाले तत्वों वाले किसी भी आकार की एक क्रमबद्ध सरणी दी जाती है और कार्य एक सरणी में अलग-अलग तत्वों की गिनती की गणना करना है।

एक प्रकार की डेटा संरचना को व्यवस्थित करता है जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत कर सकता है। डेटा के संग्रह को संग्रहीत करने के लिए एक सरणी का उपयोग किया जाता है, लेकिन एक सरणी को उसी प्रकार के चर के संग्रह के रूप में सोचना अक्सर अधिक उपयोगी होता है।

उदाहरण के लिए

Input− int arr[] = {1, 1, 2, 3, 3, 4, 4}
Output − count is 4

स्पष्टीकरण - दिए गए सरणी में 4 अलग-अलग तत्व हैं और वे 1, 2, 3, 4 हैं लेकिन सरणी का आकार 7 है क्योंकि इसमें दोहराव वाले तत्व होते हैं और हमारा काम डुप्लिकेट को हटाना और फिर सरणी तत्वों की गणना करना था।

Input − int arr[] = {1, 2, 3, 4, 5, 5, 5, 5}
Output − count is 5

स्पष्टीकरण - दिए गए सरणी में 5 अलग-अलग तत्व हैं और वे 1, 2, 3, 4 और 5 हैं लेकिन सरणी का आकार 8 है क्योंकि इसमें दोहराव वाले तत्व होते हैं और हमारा काम डुप्लिकेट को हटाना और फिर सरणी तत्वों की गणना करना था।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

सॉर्ट फ़ंक्शन का उपयोग करना ()

  • मान लीजिए की एक सरणी बनाएं, arr[]

  • लंबाई () फ़ंक्शन का उपयोग करके एक सरणी की लंबाई की गणना करें जो एक सरणी में तत्वों के अनुसार एक पूर्णांक मान लौटाएगा।

  • सॉर्ट फ़ंक्शन को कॉल करें और सरणी और सरणी के आकार को पैरामीटर के रूप में पास करें।

  • एक अस्थायी चर लें जो अलग-अलग तत्वों की संख्या को संग्रहीत करेगा।

  • i से 0 के लिए एक लूप प्रारंभ करें जब तक कि i किसी सरणी के आकार से छोटा न हो

  • लूप के अंदर, i के दौरान दौड़ें

  • थोड़ी देर के अंदर, i

    . का मान बढ़ाएँ
  • और अंदर के लिए, गिनती का मान बढ़ाएँ

  • वापसी की संख्या

  • परिणाम प्रिंट करें।

बिना छांटे

  • मान लीजिए की एक सरणी बनाएं, arr[]

  • लंबाई () फ़ंक्शन का उपयोग करके एक सरणी की लंबाई की गणना करें जो एक सरणी में तत्वों के अनुसार एक पूर्णांक मान लौटाएगा।

  • एक अस्थायी चर लें जो अलग-अलग तत्वों की संख्या को संग्रहीत करेगा।

  • i से 1 के लिए लूप प्रारंभ करें जब तक कि i किसी सरणी के आकार से छोटा न हो

  • लूप के अंदर, j से 0 पर सेट करें और j से 0 और j कम से i और इंक्रीमेंट j wth 1

    के साथ एक और लूप शुरू करें
  • इस लूप के अंदर, जांचें कि क्या arr[i] =arr[j] फिर टूट जाता है

  • इस लूप के अंदर, जांचें कि क्या i =j फिर गिनती को 1 से बढ़ा दें

  • वापसी की संख्या

  • परिणाम प्रिंट करें.r

उदाहरण

सॉर्टिंग के साथ

#include <algorithm>
#include <iostream>
using namespace std;
int distinct_elements(int arr[], int n){
   // Sorting the array
   sort(arr, arr + n);
   // Traverse the sorted array
   int count = 0;
   for (int i = 0; i < n; i++){
      // Moving the index when duplicate is found
      while (i < n - 1 && arr[i] == arr[i + 1]){
         i++;
      }
      count++;
   }
   return count;
}
// Main Function
int main(){
   int arr[] = { 3, 6, 5, 8, 2, 3, 4 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout <<"count is "<<distinct_elements(arr, n);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -

count is 6

उदाहरण

बिना छांटे

#include <iostream>
using namespace std;
int countDistinct(int a[], int size){
   int i, j, count = 1;
   for (i = 1; i < size; i++){
      for (j = 0; j < i; j++){
         if (a[i] == a[j]){
            break;
         }
      }
      if (i == j){
         count++;
      }
   }
   return count;
}
// Main function
int main(){
   int a[] = { 3, 6, 5, 8, 2, 3, 4 };
   int size = sizeof(a) / sizeof(a[0]);
   cout << "count is "<<countDistinct(a, size);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -

count is 6

  1. सी ++ में एक ऐरे में गैर-दोहराए जाने वाले (विशिष्ट) तत्वों का उत्पाद

    हमें दोहराए जाने वाले या डुप्लिकेट तत्वों की एक सरणी के साथ दिया गया है और कार्य उन सभी तत्वों के उत्पाद को ढूंढना है जो दिए गए सरणी में गैर-दोहराव या विशिष्ट हैं और परिणाम प्रदर्शित करते हैं। उदाहरण Input-: arr[] = {2, 1, 1, 2, 3, 4, 5, 5 } Output-: 120 Explanation-: Since 1, 2 and 5 are repeating

  1. सी ++ में एक क्रमबद्ध सरणी में पूर्ण विशिष्ट गणना?

    एक सरणी एक ही डेटा प्रकार के तत्वों का एक संग्रह है। एक क्रमबद्ध सरणी एक सरणी है जिसमें तत्वों को आरोही या अवरोही क्रम में संग्रहीत किया जाता है। विशिष्ट गणना उन तत्वों की संख्या है जो समान नहीं हैं। एब्सोल्यूट डिफरेंट काउंट तत्वों के निरपेक्ष मान की अलग गिनती है यानी बिना चिह्न वाले तत्व (अहस्ताक

  1. पायथन में एक सरणी में अलग-अलग तत्वों की गणना करें

    पायथन में एक सूची में हमारे पास डुप्लिकेट तत्व हो सकते हैं। जब हम सूची की लंबाई की गणना करते हैं तो हमें डुप्लिकेट तत्वों सहित कुल लंबाई मिलती है। लेकिन इस लेख में हम देखेंगे कि किसी सूची में विशिष्ट तत्वों या अद्वितीय तत्वों की कुल संख्या कैसे प्राप्त करें। उदाहरण नीचे के उदाहरण में हम संग्रह मॉड्