SHARE
TWEET

Untitled

a guest Dec 12th, 2019 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*Лаба-6
  2. Вариант-20.
  3. Ввести последовательность натуральных чисел {Aj}j=1...n (n<=1000).
  4. Упорядочить последовательность по неубыванию наименьшей цифры числа,
  5. числа с одинаковыми наименьшими цифрами дополнительно упорядочить по неубыванию наибольшей цифры числа,
  6. числа с одинаковыми наименьшими цифрами и одинаковыми наибольшими цифрами дополнительно упорядочить по неубыванию самого числа.
  7.  
  8. */
  9.  
  10. #include <limits.h>
  11. #include <iostream>
  12. using namespace std;
  13.  
  14. int max_digit(int a){
  15.     int max=0;
  16.     while(a>0){
  17.         if(max<a%10)
  18.         max=a%10;
  19.         a/=10;
  20.     }
  21.     return max;
  22. }
  23.  
  24. int min_digit(int a){
  25.     int min=10;
  26.     while(a>0){
  27.         if(min>a%10)
  28.         min=a%10;
  29.         a/=10;
  30.     }
  31.     return min;
  32. }
  33.  
  34. int main(){
  35.     int n=0;
  36.     cin>>n;
  37.     int a[n];
  38.     for(int i=0;i<n;i++){
  39.         cin>>a[i];
  40.     }
  41.     for(int i=0;i<n-1;i++){
  42.         for(int j=i+1;j<n;j++){
  43.             if(min_digit(a[i])>min_digit(a[j])||
  44.               (min_digit(a[i])==min_digit(a[j])&&max_digit(a[i])>max_digit(a[j]))||
  45.               (min_digit(a[i])==min_digit(a[j])&&max_digit(a[i])==max_digit(a[j])&&a[i]>a[j])){
  46.                 int t=a[i];
  47.                 a[i]=a[j];
  48.                 a[j]=t;
  49.             }
  50.         }
  51.        
  52.     }
  53.     for(int i=0;i<n;i++){
  54.         cout<<a[i]<<" ";
  55.     }
  56. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top