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

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

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

उदाहरण-:

इनपुट - स्ट्र [] ="58325"

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

स्पष्टीकरण - स्ट्रिंग में समतुल्य संख्या 58325 है

इनपुट -स्ट्र[] ="00010"

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

स्पष्टीकरण - स्ट्रिंग में समतुल्य संख्या 10 होती है।

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

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

  • इनपुट स्ट्रिंग Str[] लें जिसमें एक संख्या हो।

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

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

  • अगर लंबाई 1 वापसी अंक है *str -'0'.

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

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

  • अंत में वापसी अस्थायी।

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

उदाहरण

#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++ . में रेखा परावर्तन

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

  1. सी ++ प्रोग्राम 4-रंग समस्या के कार्यान्वयन का प्रदर्शन करने के लिए

    यह 4-रंग की समस्या के कार्यान्वयन को प्रदर्शित करने के लिए एक C++ प्रोग्राम है। एल्गोरिदम Begin    Develop function issafe() to check if the current color assignment    is safe for vertex v i.e. checks whether the edge exists or not.    If it exists,      

  1. सी ++ में static_cast

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