fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. void sortPositiveDesc(vector<int>& arr) {
  7. vector<int> positive;
  8.  
  9.  
  10. for (int num : arr) {
  11. if (num > 0)
  12. positive.push_back(num);
  13. }
  14.  
  15.  
  16. sort(positive.begin(), positive.end(), greater<int>());
  17.  
  18.  
  19. int posIndex = 0;
  20. for (int& num : arr) {
  21. if (num > 0)
  22. num = positive[posIndex++];
  23. }
  24. }
  25.  
  26. void printArray(const vector<int>& arr) {
  27. for (int num : arr)
  28. cout << num << " ";
  29. cout << endl;
  30. }
  31.  
  32. int main() {
  33. vector<int> arr = {3, -1, 5, 0, -2, 7, 4, -3};
  34. sortPositiveDesc(arr);
  35. cout << "Mang sau khi sap xep: ";
  36. printArray(arr);
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Mang sau khi sap xep: 7 -1 5 0 -2 4 3 -3