मान लीजिए कि हमारे पास दो संख्याएँ a और b हैं। हमें एक ऐसा फलन परिभाषित करना होगा जो (a + b) और (a - b) दोनों की गणना कर सके। लेकिन C++ में किसी फ़ंक्शन का उपयोग करके, हम अधिकतम एक मान पर वापस आ सकते हैं। एक से अधिक आउटपुट खोजने के लिए, हम पॉइंटर्स का उपयोग करके फ़ंक्शन तर्कों में आउटपुट पैरामीटर का उपयोग कर सकते हैं, और उन चर के पते का उपयोग करके उस फ़ंक्शन को कॉल कर सकते हैं। यहां इस समस्या में हम a को a+b के साथ और b को a-b से अपडेट करेंगे। जब हम फ़ंक्शन को कॉल करते हैं तो हमें इन दो चरों के पते को पास करना होगा।
इसलिए, यदि इनपुट a =15, b =18 जैसा है, तो आउटपुट a + b =33 और a - b =-3
होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
एक फ़ंक्शन हल करें () को परिभाषित करें, यह ए और बी के पते लेगा
-
अस्थायी:=चर के मानों का योग जिनके पते दिए गए हैं
-
b :=वेरिएबल के मानों का अंतर जिनके पते दिए गए हैं
-
ए =अस्थायी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <iostream> using namespace std; int solve(int *a, int *b){ int temp = *a + *b; *b = *a - *b; *a = temp; } int main(){ int a = 15, b = 18; solve(&a, &b); cout << "a + b = " << a << " and a - b = " << b; }
इनपुट
15, 18
आउटपुट
a + b = 33 and a - b = -3