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

C++ में दो ट्रैवर्सल और एक ट्रैवर्सल का उपयोग करके ऐरे से एलिमेंट हटाना


दो ट्रैवर्सल

सबसे पहले मूल ऐरे और ऐरे से खोजे और हटाए जाने वाले एलिमेंट को परिभाषित करते हैं:

int ele = 5; int arr = [1,2,3,4];

अब हम दिए गए एलिमेंट को खोजने के लिए ऐरे में लूप चलाते हैं:

for (i=0; i<length; i++) if (arr[i] == ele) break;

यदि दिए गए एलिमेंट की पोजीशन मिल जाती है तो हम उन एलिमेंट्स को बाएं शिफ्ट करते हैं जो पाए गए एलिमेंट के दाईं ओर हैं:

if (i < length) { length--; for (int j=i; j<length; j++) arr[j] = arr[j+1]; }

उदाहरण

आइए दो ट्रैवर्सल में ऐरे में एलिमेंट के विलोपन को देखने के लिए निम्नलिखित कार्यान्वयन देखें:

#include<iostream> using namespace std; int main() { int arr[] = {11, 15, 6, 8, 9, 10}; int length = sizeof(arr)/sizeof(arr[0]); int ele = 6; int i; for (i=0; i<length; i++) if (arr[i] == ele) break; if (i < length) { length--; for (int j=i; j<length; j++) arr[j] = arr[j+1]; } cout << "The array after deletion is "<<endl; for (int i=0; i<length; i++) cout << arr[i] << " "; return 0; }

आउटपुट

उपरोक्त कोड निम्नलिखित आउटपुट देगा:

The array after deletion is 11 15 8 9 10

एक ट्रैवर्सल

सबसे पहले मूल ऐरे और ऐरे से खोजे और हटाए जाने वाले एलिमेंट को परिभाषित करते हैं:

int ele = 15; int arr = [11,15,6,8,9,10];

अब हम दो वेरिएबल घोषित करते हैं: बूलियन found जो बताता है कि एलिमेंट मिला या नहीं और int pos जो एलिमेंट मिलने पर उसकी पोजीशन स्टोर करेगा:

bool found=false; int pos=-1;

अब हम ऐरे को खोजते हैं और यदि एलिमेंट मिल जाता है तो हम उसकी पोजीशन स्टोर करते हैं और अपने लूप के ट्रैवर्स करते समय एक ही बार में एलिमेंट्स को शिफ्ट करते हैं।

for (int i=0; i<length; i++){ if(pos!=-1){ arr[pos]=arr[pos+1]; pos++; } else if(arr[i]==ele){ pos=i; found=true; } }

उदाहरण

आइए केवल एक ट्रैवर्सल में ऐरे में एलिमेंट के विलोपन को देखने के लिए निम्नलिखित कार्यान्वयन देखें:

#include<iostream> using namespace std; int main() { int arr[] = {11, 15, 6, 8, 9, 10}; int length = sizeof(arr)/sizeof(arr[0]); int ele = 6 ; bool found=false; int pos=-1; for (int i=0; i<length; i++){ if(pos!=-1){ arr[pos]=arr[pos+1]; pos++; } else if(arr[i]==ele){ pos=i; found=true; } } cout << "The array after deletion is "<<endl; if(found){ length--; } for (int i=0; i<length; i++) cout << arr[i] << " "; return 0; }

आउटपुट

उपरोक्त कोड निम्नलिखित आउटपुट देगा:

The array after deletion is 11 15 8 9 10

  1. - C++ में ऐरे के अंकों से बनी दो संख्याओं का न्यूनतम योग

    विवरण एक ऐरे दिया गया है जिसमें 0 से 9 तक के मान वाले अंक हैं। कार्य ऐरे के अंकों से बनी दो संख्याओं का न्यूनतम संभव योग ढूंढना है। कृपया ध्यान दें कि हमें दिए गए ऐरे के सभी अंकों का उपयोग करना है उदाहरण यदि इनपुट ऐरे है {7, 5, 1, 3, 2, 4} तो न्यूनतम योग 382 है, क्योंकि हम दो संख्या 135 और 247 बना

  1. - C++ प्रोग्राम: सशर्त ऑपरेटर के बिना सरणी से सबसे बड़ा तत्व ज्ञात करना

    मान लें हमारे पास कुछ तत्वों के साथ एक सरणी A है। हमें सरणी A में सबसे बड़ा तत्व ज्ञात करना है, लेकिन प्रतिबंध यह है कि हम किसी भी सशर्त ऑपरेटर का उपयोग नहीं कर सकते। इसलिए यदि A = [12, 63, 32, 24, 78, 56, 20], तो अधिकतम तत्व 78 होगा। इस समस्या को हल करने के लिए, हम बिटवाइज AND ऑपरेशन का उपयोग करें

  1. - C++ STL का उपयोग करके ऐरे का गुणनफल

    यह ऐरे गुणनफल ज्ञात करने के लिए C++ प्रोग्राम का एक उदाहरण है। एल्गोरिदम Begin ऐरे के मान इनिशियलाइज़ करें। ऐरे का गुणनफल लौटाने के लिए उपयोगकर्ता परिभाषित फंक्शन accumulate को कॉल करें। समाधान प्रिंट करें। End. उदाहरण कोड #include <iostream> #include <numeric> using names