Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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];

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

bool found=false;
int pos=-1;

इसके बाद, हम सरणी खोजते हैं और यदि कोई तत्व पाया जाता है तो हम उसकी स्थिति और शिफ्ट तत्वों को संग्रहीत करते हैं, जबकि हमारा लूप एक ही बार में चल रहा होता है।

for (int i=0; i<length; i++){
   if(pos!=-1){
      arr[pos]=arr[pos+1];
      j++;
   }
   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 है, क्योंकि हम दो नं

  1. सी ++ में सशर्त ऑपरेटर का उपयोग किए बिना सरणी से सबसे बड़ा तत्व खोजें

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

  1. एसटीएल का उपयोग कर सी ++ में ऐरे उत्पाद

    यह ऐरे उत्पाद का पता लगाने के लिए C++ प्रोग्राम का एक उदाहरण है। एल्गोरिदम Begin Initialize the values of array. Call used defined function accumulate to return the product of array. Print the solution. End. उदाहरण कोड #include <iostream> #include <numeric> using namespace std;