हमें एक संख्या वाली एक स्ट्रिंग दी गई है। लक्ष्य पुनरावर्ती 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