इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो एक स्वैप के साथ सबसे बड़ी संख्या ढूंढता है।
आइए समस्या को हल करने के चरण देखते हैं।
- संख्या 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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें टिप्पणी अनुभाग में उल्लेख करें।