समस्या
एक प्रोग्राम लिखें जो दिए गए पूर्णांक में सभी शून्य (0's) को 1 से बदल दे।
एक पूर्णांक को इनपुट के रूप में दिया गया है, संख्या में सभी 0's को 1 से बदलना होगा।
समाधान
नीचे दिए गए उदाहरण पर विचार करें:
यहां, इनपुट 102410 है और आउटपुट 112411 है।
एल्गोरिथ्म
पूर्णांक में सभी 0's को 1 से बदलने का एल्गोरिथ्म:
- उपयोगकर्ता से पूर्णांक इनपुट करें।
- पूर्णांक को अंक दर अंक ट्रैवर्स करें।
- यदि '0' मिलता है, तो इसे '1' से बदलें।
- पूर्णांक प्रिंट करें।
उदाहरण
दिए गए पूर्णांक में सभी 0's को 1 से बदलने का C प्रोग्राम:
#include <stdio.h>
int replace(long int number) {
if (number == 0)
return 0;
// अंतिम अंक जांचें और यदि आवश्यक हो तो बदलें
int digit = number % 10;
if (digit == 0)
digit = 1;
// शेष अंकों को कन्वर्ट करें और अंतिम अंक में जोड़ें
return replace(number/10) * 10 + digit;
}
int convert(long int number) {
if (number == 0)
return 1;
else
return replace(number);
}
int main() {
long int number;
printf("\nकोई भी संख्या दर्ज करें: ");
scanf("%ld", &number);
printf("\nरिप्लेसमेंट के बाद संख्या है: %ld\n", convert(number));
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित आउटपुट उत्पन्न करता है:
कोई भी संख्या दर्ज करें: 1056110010 रिप्लेसमेंट के बाद संख्या है: 1156111111