इस समस्या में, हमें दो संख्याएं दी गई हैं, जिनमें से एक को अंकों के ऐरे का उपयोग करके दर्शाया गया है। हमारा एक प्रोग्राम बनाना है जो उस योग को खोजे जहां एक संख्या अंकों के ऐरे के रूप में दर्शाई गई है।
आइए एक उदाहरण लेते हैं समस्या को समझने के लिए,
इनपुट: n = 213, m[] = {1, 5, 8, } आउटपुट: 371 व्याख्या: 213 + 158 = 371 इस समस्या को हल करने के लिए, हम ऐरे के तत्व से अंक दर अंक उस संख्या को जोड़ेंगे जिसका LSB ऐरे के (n-1)वें तत्व में जोड़ा जाता है। कैरी को अगले योग के लिए प्रसारित किया जाएगा।
उदाहरण
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम,
#include <iostream> using namespace std; void addNumbers(int n, int size, int *m){ int carry = 0; int sum = 0; for(int i = size-1; i >= 0; i--){ sum = (n%10) + m[i] + carry; n /= 10; carry = sum/10; m[i] = sum%10; } } int main() { int n= 679; int m[] = {1, 9, 5, 7, 1, 9}; int size = sizeof(m)/sizeof(m[0]); cout<<"The sum of two numbers where one number is represented as array of digits is "; addNumbers(n, size, m); for(int i = 0; i < size; i++) cout<<m[i]; } आउटपुट
The sum of two numbers where one number is represented as array of digits is 196398