mr1302

3.2

Oct 1st, 2020
603
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //3.5
  2.  
  3. /* Строка: LoremxiFsumydolZDzsitr amet  ttco      Loremx iFsumydolZDzsitr  a13ett5co*/
  4.  
  5. #include <iostream>
  6. #include <string>
  7. #include <algorithm>
  8. #include <vector>
  9.  
  10. using namespace std;
  11.  
  12. bool comp(char a, char b) {                                 // функция std::sort поддерживет использование собственных компаратов, сделаем компаратор, который сможет
  13.     if (a >= 'A' && a <= 'Z' && b >= 'a' && b <= 'z')       // нормально сортивровать буквы по алфавиту, даже если они в разном регистре.
  14.         return a + 32 < b;
  15.     else if (a >= 'a' && a <= 'z' && b >= 'A' && b <= 'Z')
  16.         return a < b + 32;
  17.     else
  18.         return a < b;
  19.  
  20. }
  21.  
  22. int main(){
  23.     setlocale(LC_ALL, "Rus"); // устанавливаем локаль системы, чтобы печатать русские символы
  24.     string s;
  25.     cout << "Введите строку, символы которой вы хотите отсортировать:\n";
  26.     getline(cin, s); // считываем всю сроку, в том числе и пробелы
  27.     string temp;
  28.     for(int i = 0; i < s.size(); ++i){ // удоляем из токи пробелы
  29.         if(s[i] != ' ')
  30.             temp += s[i];
  31.     }
  32.     sort(temp.begin(), temp.end(), comp); // используем std::sort, для сортировки строки (динамического массива симвлов).
  33.     cout << "отсортированная строка:\n";
  34.     cout << temp;
  35. }
RAW Paste Data