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

अधिकतम संभव समय जो C++ में चार अंकों से बनाया जा सकता है

इस ट्यूटोरियल में, हम चार अंकों से बनने वाले अधिकतम संभव समय को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।

इसके लिए हमें 4 अंकों वाली एक सरणी प्रदान की जाएगी। हमारा काम अधिकतम समय (24 घंटे के प्रारूप) का पता लगाना है जो उन चार अंकों का उपयोग करके बनाया जा सकता है।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//returning updated frequency map
map<int, int> getFrequencyMap(int arr[], int n) {
   map<int, int> hashMap;
   for (int i = 0; i < n; i++) {
      hashMap[arr[i]]++;
   }
   return hashMap;
}
//checking if the digit is present in frequency map
bool hasDigit(map<int, int>* hashMap, int digit) {
   if ((*hashMap)[digit]) {
      (*hashMap)[digit]--;
      return true;
   }
   return false;
}
//returning maximum time in 24 hour format
string getMaxtime_value(int arr[], int n) {
   map<int, int> hashMap = getFrequencyMap(arr, n);
   int i;
   bool flag;
   string time_value = "";
   flag = false;
   for (i = 2; i >= 0; i--) {
      if (hasDigit(&hashMap, i)) {
         flag = true;
         time_value += (char)i + 48;
         break;
      }
   }
   if (!flag)
      return "-1";
   flag = false;
   if (time_value[0] == '2') {
      for (i = 3; i >= 0; i--) {
         if (hasDigit(&hashMap, i)) {
            flag = true;
            time_value += (char)i + 48;
            break;
         }
      }
   }
   else {
      for (i = 9; i >= 0; i--) {
         if (hasDigit(&hashMap, i)) {
            flag = true;
            time_value += (char)i + 48;
            break;
         }
      }
   }
   if (!flag)
      return "-1";
   time_value += ":";
   flag = false;
   for (i = 5; i >= 0; i--) {
      if (hasDigit(&hashMap, i)) {
         flag = true;
         time_value += (char)i + 48;
         break;
      }
   }
   if (!flag)
      return "-1";
   flag = false;
   for (i = 9; i >= 0; i--) {
      if (hasDigit(&hashMap, i)) {
         flag = true;
         time_value += (char)i + 48;
         break;
      }
   }
   if (!flag)
      return "-1";
   return time_value;
}
int main() {
   int arr[] = { 0, 0, 0, 9 };
   int n = sizeof(arr) / sizeof(int);
   cout << (getMaxtime_value(arr, n));
   return 0;
}

आउटपुट

09:00

  1. C++ प्रोग्राम स्कोर की अधिकतम राशि का पता लगाने के लिए जिसे ग्राफ़ से घटाया जा सकता है

    मान लीजिए, एक भारित, अप्रत्यक्ष ग्राफ है जिसमें n कोने और m किनारे हैं। ग्राफ़ के स्कोर को ग्राफ़ में सभी किनारों के वज़न के योग के रूप में परिभाषित किया गया है। किनारे के वजन नकारात्मक हो सकते हैं, और यदि उन्हें हटा दिया जाता है तो ग्राफ का स्कोर बढ़ जाता है। हमें क्या करना है, हमें ग्राफ को कनेक्ट

  1. अधिकतम दर्पण जो C++ में प्रकाश को नीचे से दाएं स्थानांतरित कर सकते हैं

    हमें एक वर्ग मैट्रिक्स दिया गया है जिसमें केवल 0 और 1 हैं। 0 एक खाली खाली जगह का प्रतिनिधित्व करता है और 1 का मतलब बाधा है। हमें ऐसे कई दर्पण खोजने होंगे, जिनमें अटेम्प्टी सेल इस प्रकार रखे जा सकें कि ये दर्पण नीचे से दाईं ओर प्रकाश स्थानांतरित कर सकें। यह तब संभव है, जब मिरर को इंडेक्स [i,j] पर रखा

  1. फ़ंक्शन जिन्हें C++ में ओवरलोड नहीं किया जा सकता है

    C++ में हम फंक्शन्स को ओवरलोड कर सकते हैं। लेकिन कई बार ओवरलोडिंग नहीं होती है। इस खंड में, हम देखेंगे कि विभिन्न मामले क्या हैं, जिनमें हम कार्यों को अधिभारित नहीं कर सकते हैं। जब फ़ंक्शन सिग्नेचर समान होते हैं, केवल रिटर्न प्रकार अलग होता है, तो हम फ़ंक्शन को ओवरलोड नहीं कर सकते। int my_func(