fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm> // Pentru std::swap
  4.  
  5. using namespace std;
  6.  
  7. // Funcție pentru a extrage cifrele unui număr și a le adăuga la un șir
  8. void extrageCifre(int n, string& s) {
  9. string temp = to_string(n);
  10. s += temp;
  11. }
  12.  
  13. // Funcție pentru a sorta un șir de cifre descrescător folosind Bubble Sort și swap
  14. string sortareDescrescatoare(string cifre) {
  15. int n = cifre.length();
  16. for (int i = 0; i < n - 1; i++) {
  17. for (int j = 0; j < n - i - 1; j++) {
  18. if (cifre[j] < cifre[j + 1]) {
  19. swap(cifre[j], cifre[j + 1]);
  20. }
  21. }
  22. }
  23. return cifre;
  24. }
  25.  
  26. int main() {
  27. int a, b;
  28. cout << "Introduceti doua numere a si b (0 <= a, b <= 9999): ";
  29. cin >> a >> b;
  30.  
  31. string cifreString = "";
  32. extrageCifre(a, cifreString);
  33. extrageCifre(b, cifreString);
  34.  
  35. string numarMaximString = sortareDescrescatoare(cifreString);
  36.  
  37. cout << "Numarul maxim format din cifrele lui " << a << " si " << b << " este: " << numarMaximString << endl;
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5284KB
stdin
5632 123
stdout
Introduceti doua numere a si b (0 <= a, b <= 9999): Numarul maxim format din cifrele lui 5632 si 123 este: 6533221