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

C++ में एक स्वैप के साथ सबसे बड़ी संख्या की अनुमति है

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो सिंगल स्वैप के साथ सबसे बड़ी संख्या ढूंढता है।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • संख्या n प्रारंभ करें।
  • पूर्णांक को स्ट्रिंग में बदलें।
  • एक लूप लिखें जो स्ट्रिंग के अंत से पुनरावृत्त हो।
    • अधिकतम अंक और अनुक्रमणिका खोजें।
    • यदि वर्तमान अंक अधिकतम अंक से कम है, तो प्रारंभ अनुक्रमणिका को वर्तमान अनुक्रमणिका और अंत अनुक्रमणिका को अधिकतम अंक अनुक्रमणिका के साथ अद्यतन करें।
  • यदि प्रारंभ सूचकांक -1 है, तो n लौटाएं।
  • अन्यथा प्रारंभ और अंत अनुक्रमणिका में अंकों की अदला-बदली करें।
  • रूपांतरित करके पूर्णांक लौटाएं।

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
int getLargestNumber(int n) {
   int maxDigit = -1;
   int maxDigitIndex = -1;
   int startIndex = -1;
   int endIndex = -1;
   string nInStr = to_string(n);
   for (int i = nInStr.size() - 1; i >= 0; i--) {
      if (nInStr[i] > maxDigit) {
         maxDigit = nInStr[i];
         maxDigitIndex = i;
         continue;
      }
      if (nInStr[i] < maxDigit) {
         startIndex = i;
         endIndex = maxDigitIndex;
      }
   }
   if (startIndex == -1) {
      return n;
   }
   swap(nInStr[startIndex], nInStr[endIndex]);
   return stoi(nInStr);
}
int main() {
   int n = 678;
   cout << getLargestNumber(n) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

876

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. ऊपरी विकर्ण को C++ में लोअर के साथ स्वैप करें

    यह ट्यूटोरियल c++ कोड का उपयोग करके तीन-विकर्ण सरणी की ऊपरी पंक्ति को इसके निचले हिस्से में स्वैप करने के लिए डिज़ाइन किया गया है। इसके अलावा, यदि एक तीन-विकर्ण सरणी एक इनपुट है, तो वांछित परिणाम कुछ इस तरह होना चाहिए; इसके लिए एल्गोरिथम में कार्रवाई की प्रक्रिया इस प्रकार बताई गई है; एल्गोरिदम S

  1. C++ में अंकगणित संख्या

    अंकगणितीय संख्या एक ऐसी संख्या है जिसमें सभी धनात्मक भाजक का औसत एक पूर्णांक होता है अर्थात संख्या n के लिए यदि भाजक की संख्या भाजक के योग को विभाजित कर सकती है तो n एक अंकगणितीय संख्या है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, Input : n = 6 Output : YES Explanation : Divisor

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a