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++ में ऊपरी विकर्ण को निचले विकर्ण से स्वैप करना

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

  1. - C++ में अंकगणितीय संख्या (Arithmetic Number)

    अंकगणितीय संख्या क्या है? एक संख्या जिसके सभी धनात्मक भाजकों का औसत एक पूर्णांक हो। अर्थात, भाजकों का योग भाजकों की संख्या से विभाज्य हो। उदाहरण: n = 6 भाजक: 1, 2, 3, 6 योग = 12, भाजकों की संख्या = 4 12/4 = 3 (पूर्णांक) → अंकगणितीय संख्या है एल्गोरिदम भाजकों का योग निकालें भाजकों की संख्या गिन

  1. - C++ में CHAR_BIT

    CHAR_BIT क्या है? CHAR_BIT एक बाइट में बिट्स की संख्या दर्शाता है। <climits> या <limits.h> हेडर में परिभाषित। आमतौर पर 8 बिट्स प्रति बाइट होता है। C++ प्रोग्राम उदाहरण #include <bits/stdc++.h> using namespace std; int main() { int x = 28; int total_bits = CHAR_BIT * size