#include <iostream>
#include <string>
#include <algorithm> // Pentru std::swap
using namespace std;
// Funcție pentru a extrage cifrele unui număr și a le adăuga la un șir
void extrageCifre(int n, string& s) {
string temp = to_string(n);
s += temp;
}
// Funcție pentru a sorta un șir de cifre descrescător folosind Bubble Sort și swap
string sortareDescrescatoare(string cifre) {
int n = cifre.length();
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (cifre[j] < cifre[j + 1]) {
swap(cifre[j], cifre[j + 1]);
}
}
}
return cifre;
}
int main() {
int a, b;
cout << "Introduceti doua numere a si b (0 <= a, b <= 9999): ";
cin >> a >> b;
string cifreString = "";
extrageCifre(a, cifreString);
extrageCifre(b, cifreString);
string numarMaximString = sortareDescrescatoare(cifreString);
cout << "Numarul maxim format din cifrele lui " << a << " si " << b << " este: " << numarMaximString << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBQZW50cnUgc3RkOjpzd2FwCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVuY8ibaWUgcGVudHJ1IGEgZXh0cmFnZSBjaWZyZWxlIHVudWkgbnVtxINyIMiZaSBhIGxlIGFkxIN1Z2EgbGEgdW4gyJlpcgp2b2lkIGV4dHJhZ2VDaWZyZShpbnQgbiwgc3RyaW5nJiBzKSB7CiAgICBzdHJpbmcgdGVtcCA9IHRvX3N0cmluZyhuKTsKICAgIHMgKz0gdGVtcDsKfQoKLy8gRnVuY8ibaWUgcGVudHJ1IGEgc29ydGEgdW4gyJlpciBkZSBjaWZyZSBkZXNjcmVzY8SDdG9yIGZvbG9zaW5kIEJ1YmJsZSBTb3J0IMiZaSBzd2FwCnN0cmluZyBzb3J0YXJlRGVzY3Jlc2NhdG9hcmUoc3RyaW5nIGNpZnJlKSB7CiAgICBpbnQgbiA9IGNpZnJlLmxlbmd0aCgpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuIC0gMTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuIC0gaSAtIDE7IGorKykgewogICAgICAgICAgICBpZiAoY2lmcmVbal0gPCBjaWZyZVtqICsgMV0pIHsKICAgICAgICAgICAgICAgIHN3YXAoY2lmcmVbal0sIGNpZnJlW2ogKyAxXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY2lmcmU7Cn0KCmludCBtYWluKCkgewogICAgaW50IGEsIGI7CiAgICBjb3V0IDw8ICJJbnRyb2R1Y2V0aSBkb3VhIG51bWVyZSBhIHNpIGIgKDAgPD0gYSwgYiA8PSA5OTk5KTogIjsKICAgIGNpbiA+PiBhID4+IGI7CgogICAgc3RyaW5nIGNpZnJlU3RyaW5nID0gIiI7CiAgICBleHRyYWdlQ2lmcmUoYSwgY2lmcmVTdHJpbmcpOwogICAgZXh0cmFnZUNpZnJlKGIsIGNpZnJlU3RyaW5nKTsKCiAgICBzdHJpbmcgbnVtYXJNYXhpbVN0cmluZyA9IHNvcnRhcmVEZXNjcmVzY2F0b2FyZShjaWZyZVN0cmluZyk7CgogICAgY291dCA8PCAiTnVtYXJ1bCBtYXhpbSBmb3JtYXQgZGluIGNpZnJlbGUgbHVpICIgPDwgYSA8PCAiIHNpICIgPDwgYiA8PCAiIGVzdGU6ICIgPDwgbnVtYXJNYXhpbVN0cmluZyA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9