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

C++ कोड समीक्षा वोट की स्थिति और अनिश्चितता की जांच करने के लिए

मान लीजिए हमारे पास तीन संख्याएँ x, y और z हैं। एक समीक्षा साइट पर x व्यक्ति थे जो अपवोट करेंगे, y व्यक्ति जो डाउनवोट करेंगे, और z व्यक्तियों का एक अन्य समूह जो वोट देंगे, लेकिन हम नहीं जानते कि वे अपवोट करेंगे या डाउनवोट। प्रत्येक व्यक्ति अधिकतम एक बार मतदान कर सकता है। यदि अपवोट से अधिक लोग अपवोट करते हैं, तो परिणाम "+" होगा; यदि डाउनवोट की संख्या अधिक है, तो परिणाम "-" होगा; अन्यथा परिणाम "0" होगा। z अज्ञात व्यक्तियों के कारण, परिणाम अनिश्चित हो सकता है (अर्थात एक से अधिक संभावित परिणाम हैं)। परिणाम अनिश्चित है ('?' के रूप में दर्शाया गया है) यदि और केवल यदि दो अलग-अलग स्थितियां मौजूद हैं कि कैसे व्यक्ति मतदान करते हैं। हमें परिणाम खोजना है या रिपोर्ट करना है कि क्या यह अनिश्चित है।

इसलिए, यदि इनपुट x =2 जैसा है; वाई =0; z =2, तो आउटपुट '?' होगा क्योंकि 2 अपवोट हैं, यदि अन्य दो वोट नीचे हैं तो यह 0 होगा, लेकिन यदि वे अधिक हैं तो यह '+' होगा इसलिए उत्तर अनिश्चित है।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

if x > y + z, then:
   return "+"
otherwise when x + z < y, then:
   return "-"
otherwise when not z is non-zero, then:
   return "0"
Otherwise
   return "?"

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
string solve(int x, int y, int z){
   if (x > y + z)
      return "+";
   else if (x + z < y)
      return "-";
   else if (!z)
      return "0";
   else
      return "?";
}
int main(){
   int x = 2;
   int y = 0;
   int z = 2;
   cout << solve(x, y, z) << endl;
}

इनपुट

2, 0, 2

आउटपुट

?

  1. जांचें कि किसी संख्या में सी ++ में सेट और अनसेट बिट्स की संख्या समान है या नहीं

    इस खंड में हम जांच करेंगे कि किसी संख्या में सेट बिट्स और अनसेट बिट्स की संख्या समान है या नहीं। मान लीजिए कि संख्या 12 है। इसका द्विआधारी प्रतिनिधित्व 1100 है। इसमें 0 और 1 की संख्या समान है। दृष्टिकोण सरल है। हम संख्या के प्रत्येक बिट की जाँच करेंगे, और यदि वह 1 है, तो set_bit_count बढ़ाएँ, और यद

  1. जाँच करें कि C++ में कोई बड़ी संख्या 2, 3 और 5 से विभाज्य है या नहीं

    यहां हम देखेंगे कि कैसे किसी संख्या को 2, 3 और 5 से विभाजित किया जा सकता है या नहीं। इस मामले में संख्या बहुत बड़ी है। इसलिए हम संख्या को स्ट्रिंग के रूप में रखते हैं। एक संख्या 2, 3 और 5 से विभाज्य होगी यदि वह संख्या 2,3 और 5 के एलसीएम से विभाज्य है। तो 2, 3, 5 का एलसीएम 30 है। हमें यह जांचना है क

  1. सी ++ में विकर्ण मैट्रिक्स और स्केलर मैट्रिक्स की जांच करने का कार्यक्रम

    मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को इस तरह दर्शाता है कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें ज्ञात करना है कि दिया गया वर्ग आव्यूह विकर्ण . है या नहीं और स्केलर मैट्रिक्स या नहीं, अगर यह विकर्ण . है और स्केलर मैट्रिक्स फिर परिणाम में हाँ प्