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

सी ++ में दो संभावित मानों से एक चर के लिए अन्य मान असाइन करें

समस्या का विवरण

हमें किसी भी सशर्त ऑपरेटर का उपयोग किए बिना दो संभावित मानों से एक चर को अन्य चरों का मान निर्दिष्ट करना होगा।

विवरण

इस समस्या में, हमें एक चर दिया गया है मान लीजिए a जिसका मान x और y के दो चरों में से किसी एक का मान हो सकता है। अब, हमें किसी भी सशर्त ऑपरेटर का उपयोग किए बिना किसी अन्य के मूल्य को उसके वर्तमान मूल्य से निर्दिष्ट करने के लिए एक प्रोग्राम बनाना होगा यानी हम x के मान की जांच नहीं कर सकते हैं।

आइए समस्या को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं -

Input : a = 43 ; x = 43 and y = 21
Output : 21

स्पष्टीकरण - a का प्रारंभिक मान 43 है इसलिए हमें अन्य मान यानी 21 को a के अंतिम मान के रूप में वापस करना होगा।

चूँकि हमें किसी के मान की जाँच करने की अनुमति नहीं है, अर्थात किसी भी प्रकार के सशर्त कथन का उपयोग कोड में मान्य नहीं है। इसलिए, हमें वेरिएबल के स्वैप वैल्यू के वैकल्पिक समाधान देखने की जरूरत है। इसके लिए, कई समाधान हो सकते हैं लेकिन हम यहां एक बार सबसे व्यवहार्य और आसान चर्चा कर रहे हैं -

अंकगणितीय ऑपरेटर का उपयोग करना

मूल्य को स्वैप करने के आसान तरीकों में से एक है दो मानों के जोड़/गुणा का उपयोग करना और संबंधित विपरीत कार्यों के लिए घटाना/भाग देना यानी घटाना यदि हमने जोड़ दिया है और यदि गुणा का उपयोग किया है तो विभाजित करें।

तो, सूत्र बन जाता है -

a =x + y - a या a =x * y / a

लेकिन यहां गुणा और भाग संचालन अधिक महंगा है और कभी-कभी त्रुटियां फेंक सकता है। इसलिए, हमने इसके लिए जोड़-घटाव कॉम्बो का उपयोग किया है।

उदाहरण

#include <iostream>
using namespace std;
int main(){
   int x = 45;
   int y = 5;
   int a = x;
   cout<<"Initial value of a is : "<<a;
   a = x+y - a;
   cout<<"\nAfter changing the value of a is : "<<a;
}

आउटपुट

Initial value of a is : 45
After changing the value of a is : 5

बिटवाइज XOR ऑपरेटर का उपयोग करना

एक अधिक प्रभावी तरीका बिटवाइज़ XOR ऑपरेटर का उपयोग करना हो सकता है।

तो, मान निम्न तरीके से बदला जाएगा -

a =x^y^a;

उदाहरण

#include <iostream>
using namespace std;
int main(){
   int x = 56;
   int y = 78;
   int a = x;
   cout<<"Initial value of a is : "<< a;
   a = x^y^a;
   cout<<"\nAfter changing the value of a is "<<a;
   return 0;
}

आउटपुट

Initial value of a is : 56
After changing the value of a is 78

  1. दो बीएसटी से जोड़े की गणना करें जिनकी राशि सी ++ में दिए गए मान x के बराबर है

    हमें इनपुट के रूप में दो बाइनरी सर्च ट्री और एक वेरिएबल x दिया गया है। लक्ष्य प्रत्येक पेड़ से नोड्स के जोड़े को ढूंढना है ताकि नोड्स के मूल्य का योग x के बराबर हो। BST_1 से नोड 1 और BST_2 से नोड 2 लें और दोनों का डेटा भाग जोड़ें। यदि योग =x. वेतन वृद्धि की संख्या। आइए उदाहरणों से समझते हैं। इनपुट

  1. सी # में चर के लिए मान कैसे असाइन करें?

    एक चर एक भंडारण क्षेत्र को दिया गया नाम है जिसे हमारे प्रोग्राम हेरफेर कर सकते हैं। C# में प्रत्येक वेरिएबल का एक विशिष्ट प्रकार होता है, जो वेरिएबल की मेमोरी के आकार और लेआउट को उस मेमोरी के भीतर स्टोर किए जा सकने वाले मानों की रेंज और वेरिएबल पर लागू किए जा सकने वाले ऑपरेशंस के सेट को निर्धारित कर

  1. पायथन में चर के लिए मान कैसे निर्दिष्ट करें

    किसी भी कंप्यूटर प्रोग्रामिंग भाषा में वैरिएबल असाइनमेंट एक बहुत ही बुनियादी आवश्यकता है। पायथन में ऐसे कई तरीके हैं जिनसे हम एक वैरिएबल घोषित कर सकते हैं और इसे मान दे सकते हैं। नीचे हम उनमें से प्रत्येक को देखते हैं। प्रत्यक्ष प्रारंभ इस पद्धति में, हम सीधे चर घोषित करते हैं और =चिह्न का उपयोग कर