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

C++ में atoi() का पुनरावर्ती कार्यान्वयन


हमें एक स्ट्रिंग दी गई है जिसमें एक संख्या है। लक्ष्य है पुनरावर्ती atoi() विधि का उपयोग करके समतुल्य संख्या ढूंढना। int atoi(const char *str) स्ट्रिंग तर्क str को पूर्णांक (प्रकार int) में परिवर्तित करता है।

उदाहरण-:

इनपुट - Str[] = "58325"

आउटपुट - समतुल्य दशमलव है: 58325

व्याख्या - स्ट्रिंग में समतुल्य संख्या 58325 है

इनपुट - Str[] = "00010"

आउटपुट - समतुल्य दशमलव है: 10

व्याख्या - स्ट्रिंग में समतुल्य संख्या 10 है।

उपयोग किया गया दृष्टिकोण

इस दृष्टिकोण में हम पुनरावर्ती फ़ंक्शन recurAtoi() का उपयोग कर रहे हैं जो इनपुट स्ट्रिंग और इसकी लंबाई लेता है और प्रत्येक वर्ण के लिए इसे दशमलव में बदलता है और इसे 10 से गुणा करता है। इसमें पिछले परिणामों को जोड़ता है।

  • संख्या वाली इनपुट स्ट्रिंग Str[] लें।

  • strlen(Str) का उपयोग करके इसकी लंबाई की गणना करें।

  • फ़ंक्शन recurAtoi(char *str, int len) इनपुट लेता है और पुनरावर्ती atoi() कार्यक्षमता का उपयोग करके गणना की गई संख्या लौटाता है।

  • यदि लंबाई 1 है तो digit *str -'0' लौटाएं।

  • temp=10*recurAtoi(str,len-1) लें।

  • और temp=temp+str[len-1]-'0' सेट करें।

  • अंत में temp लौटाएं।

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

उदाहरण

#include <bits/stdc++.h> using namespace std; int recurAtoi(char *str, int len){    if (len == 1){       return *str - '0';    }    int temp=10*recurAtoi(str,len-1);    temp=temp+str[len-1]-'0';    return (temp); } int main(void){    char Str[] = "58325";    int length = strlen(Str);    cout<<"Equivalent decimal :"<<recurAtoi(Str, length);    return 0; }

आउटपुट

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

Equivalent decimal : 58325

  1. C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें

    समस्या विवरण मान लीजिए हमारे पास 2D तल पर n बिंदु हैं, हमें जांचना है कि क्या y-अक्ष के समानांतर कोई रेखा है जो दिए गए बिंदुओं को सममित रूप से प्रतिबिंबित करती है, दूसरे शब्दों में, जांचें कि क्या कोई ऐसी रेखा मौजूद है जो सभी बिंदुओं को दी गई रेखा पर प्रतिबिंबित करने के बाद मूल बिंदुओं का समुच्चय प

  1. - C++ प्रोग्राम: 4-Color Problem का कार्यान्वयन

    यह C++ प्रोग्राम प्रसिद्ध 4-Color Problem (Four Color Theorem) को दर्शाता है। यह समस्या बताती है कि किसी भी प्लैनर मैप को केवल 4 रंगों से इस तरह कलर किया जा सकता है कि कोई भी दो आसन्न क्षेत्र एक ही रंग के न हों। प्रोग्राम बैकट्रैकिंग एल्गोरिदम का उपयोग करके ग्राफ के वर्टेक्स को कलर करता है। एल्गोर

  1. - C++ में static_cast

    static_cast का उपयोग सामान्य/साधारण प्रकार रूपांतरण के लिए किया जाता है। यह निहित प्रकार जबरदस्ती (implicit type coercion) के लिए भी जिम्मेदार कास्ट है और इसे स्पष्ट रूप से भी बुलाया जा सकता है। आपको इसका उपयोग फ्लोट को इंट में, चार को इंट में आदि जैसे मामलों में करना चाहिए। यह संबंधित प्रकार के क्