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

C++ में स्टैक का उपयोग करके किसी संख्या को उलट दें

हमें इनपुट के रूप में एक पूर्णांक संख्या संख्या दी गई है। लक्ष्य स्टैक का उपयोग करके संख्या का उल्टा पता लगाना है।

ढेर :- स्टैक C++ में एक डेटा संरचना है जो डेटा को LIFO (लास्ट इन फर्स्ट आउट) तरीके से स्टोर करती है। स्टैक के प्रमुख संचालन हैं-:

घोषणा-:स्टैक स्टैक; //stck अब एक स्टैक वैरिएबल है।

  • top() . का उपयोग करके शीर्ष ढूँढना . फ़ंक्शन stck.top() स्टैक में शीर्ष तत्व का संदर्भ देता है

  • पॉप () . का उपयोग करके शीर्ष को हटाना . फ़ंक्शन स्टैक से सबसे ऊपरी तत्व को हटा देता है

  • पुश () . का उपयोग करके तत्व को शीर्ष पर जोड़ना . फ़ंक्शन stck.push(value) स्टैक में आइटम मान जोड़ता है। मान stck प्रकार का होना चाहिए।

  • खाली () . का उपयोग करके जांचें कि स्टैक खाली है या नहीं . स्टैक खाली होने पर फ़ंक्शन stck.empty() सत्य लौटाता है।

उदाहरण

इनपुट - संख्या =33267

आउटपुट - संख्या का उल्टा है:76233

स्पष्टीकरण -

पहले हम सभी तत्वों को स्टैक करने के लिए पुश करेंगे

7 - 6 - 2 - 3 - 3 ऊपर

7 * 10000 + 6 * 1000 + 2*100 + 3*10 + 3*1

=70000 + 6000 + 200 + 30 + 3

=76233

इनपुट - संख्या =111000

आउटपुट - संख्या का उल्टा है:111

स्पष्टीकरण -

पहले हम सभी तत्वों को स्टैक करने के लिए पुश करेंगे

0 - 0 - 0 - 1 - 1 - 1 शीर्ष

0 * 100000 + 0 * 10000 + 0*1000 + 1*100 + 1*10 + 1*1

=0 + 0 + 0 + 100 + 10 + 1

=111

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

इस दृष्टिकोण में हम पहले इनपुट संख्या के शेष भाग लेंगे और स्टैक पर पुश करेंगे और संख्या को 10 तक कम कर देंगे जब तक कि संख्या 0 न हो जाए। इस तरह स्टैक को पहले अंक के रूप में शीर्ष से भर दिया जाएगा।

  • इनपुट नंबर संख्या लें।

  • स्टैक stck का उपयोग करके पूर्णांकों के लिए खाली स्टैक लें।

  • फ़ंक्शन pushDigts(int num1) num1 लेता है और इसे शीर्ष पर पहले अंक के साथ स्टैक में जोड़ता है।

  • रेम को वेरिएबल के रूप में लें।

  • थोड़ी देर के लूप का उपयोग करके जांचें कि क्या num1 गैर-शून्य है, यदि सत्य है तो रेम =num1%10 सेट करें।

  • रेम को स्टैक करने के लिए पुश करें।

  • दूसरे अंक वगैरह के लिए num1 को 10 से घटाएं।

  • अब फ़ंक्शन revrseNum() के साथ स्टैक के तत्वों का उपयोग करके संख्या को उलट दें।

  • वेरिएबल रेवर्स लें, टॉप, टेम्प, i.

  • जबकि ढेर खाली नहीं है

  • सबसे ऊपरी तत्व को top=stck.top() के रूप में लें।

  • Stck.pop() का उपयोग करके स्टैक को कम करें।

  • अस्थायी सेट करें=topp*i.

  • रिवर्स में टेम्परेचर जोड़ें।

  • 100 के गुणजों में i*10 से i बढ़ाएँ।

  • अंत में इनपुट संख्या के रिवर्स को रिवर्स के रूप में लौटाएं।

  • मुख्य के अंदर प्राप्त प्रिंट परिणाम।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
stack <int> stck;
void pushDigts(int num1){
   int rem;
   while (num1 > 0){
      rem=num1 % 10;
      stck.push(rem);
      num1 = num1 / 10;
   }
}
int revrseNum(){
   int revrs = 0;
   int i = 1;
   int temp;
   int topp;
   while (!stck.empty()){
      topp=stck.top();
      stck.pop();
      temp=topp*i;
      revrs = revrs + temp;
      i *= 10;
   }
   return revrs;
}
int main(){
   int Num = 43556;
   pushDigts(Num);
   cout<<"Reverse of number is: "<<revrseNum();
   return 0;
}

आउटपुट

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

Reverse of number is: 65534

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क