Advertisement
annie_02

dr3_zad2

Dec 22nd, 2022
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool myCompare(int x, int y)
  5. {
  6.     int xy = x, yx = y;
  7.     int counterX = 0, counterY = 0;
  8.  
  9.     while (x > 0) {
  10.         counterX++;
  11.         x /= 10;
  12.     }
  13.     while (y > 0) {
  14.         counterY++;
  15.         y /= 10;
  16.     }
  17.  
  18.     x = xy;
  19.     y = yx;
  20.  
  21.     while (counterX--){
  22.         yx *= 10;
  23.     }
  24.     while (counterY--) {
  25.         xy *= 10;
  26.     }
  27.     yx += x;
  28.     xy += y;
  29.  
  30.     return xy > yx;
  31. }
  32.  
  33. void arrayAscend(int k, int* arr) {
  34.     int temp, i, j;
  35.     for (i = 0; i < k; i++) {
  36.         for (j = i+1; j < k; j++) {
  37.             if (arr[i] > arr[j]) {
  38.                 temp = arr[i];
  39.                 arr[i] = arr[j];
  40.                 arr[j] = temp;
  41.                    
  42.             }
  43.  
  44.         }
  45.     }
  46.     for (i = 0; i < k; i++) {
  47.         for (j = i + 1; j < k; j++) {
  48.             if (myCompare(arr[i], arr[j]) == false) {
  49.                 int temp1 = arr[i];
  50.                 arr[i] = arr[j];
  51.                 arr[j] = temp1;
  52.             }
  53.         }
  54.         cout << arr[i] << ' ';
  55.     }
  56.    
  57.    
  58. }
  59.  
  60. int main() {
  61.     int k;
  62.     cin >> k;
  63.     int arr[15];
  64.     int i;
  65.     for (i = 0; i < k; i++) {
  66.         cin >> arr[i];
  67.     }
  68.     if ((k < 1 && k > 15) && (arr[i]<1 && arr[i]>9999)) {
  69.         cout << -1;
  70.     }
  71.     else {
  72.         arrayAscend(k, arr);
  73.     }
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement