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

C++ में दिए गए पूर्णांक सरणी के सभी विशिष्ट तत्वों को प्रिंट करें


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

आइए समस्या को समझने के लिए एक उदाहरण लेते हैं

Input: array = {1, 5, 7, 12, 1, 6, 10, 7, 5}
Output: 1 5 7 12 6 10

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

उदाहरण

यह कोड हमारे समाधान के कार्यान्वयन को दर्शाता है,

#include <iostream>
using namespace std;
void printDistinctValues(int arr[], int n) {
   for (int i=0; i<n; i++){
      int j;
      for (j=0; j<i; j++)
      if (arr[i] == arr[j])
         break;
      if (i == j)
         cout<<arr[i]<<"\t";
   }
}
int main(){
   int arr[] = {1, 5, 7, 12, 1, 6, 10, 7, 5};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout<<"Distinct values of the array are :\n";
   printDistinctValues(arr, n);
   return 0;
}

आउटपुट

Distinct elements of the array are −
1 5 6 7 10 12

यह समाधान आसान है लेकिन दो लूप का उपयोग करता है जो n 2 के क्रम की जटिलता को बनाते हैं ।

एक अधिक जटिल विधि छँटाई का उपयोग करेगी। क्रमबद्ध सरणी में, समान संख्याओं की घटना क्रमागत हो जाती है। अब, हम अलग-अलग तत्वों को आसानी से प्रिंट कर सकते हैं और इसमें कम जगह लगती है।

उदाहरण

हमारे तर्क का कार्यान्वयन -

#include <bits/stdc++.h>
using namespace std;
void printDistinctElements(int arr[], int n){
   sort(arr, arr + n);
   for (int i=0; i<n; i++){
      while (i < n-1 && arr[i] == arr[i+1])
         i++;
      cout<<arr[i]<<"\t";
   }
}
int main(){
   int arr[] = {1, 5, 7, 12, 1, 6, 10, 7, 5};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout<<"Distinct elements of the array are :\n";
   printDistinctElements(arr, n);
   return 0;
}

आउटपुट

Distinct elements of the array are −
1 5 6 7 10 12

सरणी के विज़िट किए गए तत्वों का ट्रैक रखते हुए एक और अधिक प्रभावी समाधान हैं। हम सरणी को पार करेंगे और सरणी के सभी विज़िट किए गए तत्वों का ट्रैक रखेंगे।

उदाहरण

यह कोड हमारे समाधान के कार्यान्वयन को दर्शाता है,

#include<bits/stdc++.h>
using namespace std;
void printDistinctElements(int arr[],int n) {
   unordered_set<int> visited;
   for (int i=0; i<n; i++){
      if (visited.find(arr[i])==visited.end()){
         visited.insert(arr[i]);
         cout<<arr[i]<<"\t";
      }
   }
}
int main () {
   int arr[] = {1, 5, 7, 12, 1, 6, 10, 7, 5};
   int n=7;
   cout<<"Distinct numbers of the array are :\n";
   printDistinctElements(arr,n);
   return 0;
}

आउटपुट

Distinct numbers of the array are −
1 5 7 12 6 10

  1. किसी दिए गए स्रोत से गंतव्य तक सभी पथों को C++ में प्रिंट करें

    इस समस्या में हमें एक निर्देशित ग्राफ़ दिया जाता है और हमें स्रोत से ग्राफ़ के गंतव्य तक के सभी पथों को प्रिंट करना होता है। निर्देशित ग्राफ़ किनारों वाला एक ग्राफ़ है जो शीर्ष a से b तक निर्देशित होता है। समस्या को समझने के लिए एक उदाहरण लेते हैं स्रोत =के गंतव्य =पी आउटपुट: K -> T -&

  1. सी # प्रोग्राम सी # में दिए गए पूर्णांक सरणी के सभी विशिष्ट तत्वों को मुद्रित करने के लिए

    हमने विशिष्ट तत्वों को प्राप्त करने के लिए एक सरणी और एक शब्दकोश सेट किया है। int[] arr = {    88,    23,    56,    96,    43 }; var d = new Dictionary < int, int > (); शब्दकोश संग्रह हमें सूची की कुंजी और मूल्य प्राप्त करने की अनुमति देता है।

  1. किसी दिए गए पूर्णांक सरणी के सभी विशिष्ट तत्वों को मुद्रित करने के लिए पायथन प्रोग्राम।

    एक पूर्णांक सरणी को देखते हुए। सरणी के तत्व डुप्लिकेट हो सकते हैं। हमारा कार्य विशिष्ट मानों को प्रदर्शित करना है। उदाहरण इनपुट::ए=[1,2,3,4,2,3,5,6]आउटपुट [1,2,3,4,5,6] एल्गोरिदम चरण 1:इनपुट ऐरे तत्व। चरण 2:फिर सभी तत्वों को एक-एक करके चुनें। चरण 3:फिर जांचें कि चुना गया तत्व पहले से प्रदर्शित है या