Advertisement
RobertDeMilo

10 Строки и символы

Sep 7th, 2023
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     string s;
  9.     getline(cin, s);
  10.  
  11.     for (auto c : s)
  12.     {
  13.         if (c >= '0' && c <= '9')
  14.         {
  15.             cout << c;
  16.         }
  17. ********************************************************
  18.         if (c >= 48 && c <= 57)
  19.         {
  20.             cout << c;
  21.         }
  22. ********************************************************
  23.     }
  24.  
  25. ****************************************************************************************************************
  26.     int n;
  27.     cin >> n;
  28.     string s;
  29.     getline(cin, s);
  30.  
  31.     for (int i = 0; i < n; i++)
  32.     {
  33.         getline(cin, s);
  34.         string s2 = ""; // новая строка, в которую постепенно будем накапливать изменения
  35.  
  36.         for (auto c : s)
  37.         {   // перевод регистра букв
  38.             if (c >= 'a' && c <= 'z') // проверям, если очередной символ маленькая латинская буква.
  39.             {
  40.                 // переменная, которая будет обозначать номер буквы в алфавите
  41.                 int num = c - 'a'; // Из кода символа вычитаем код буквы 'a'. Получим число от 0 до 25.
  42.  
  43.                 s2 += 'A' + num; // К строке s2 прибавилась большая буква (большая буква 'A' + номер в алфавите)
  44.             }
  45.             else
  46.             {
  47.                 s2 += c;
  48.             }
  49.         }
  50.  
  51.         if (s2.find("RKPT") != -1) // поиск подходящей строки
  52.         {
  53.             for (auto c : s2)
  54.             {
  55.                 if (c >= '0' && c <= '9')
  56.                 {
  57.                     cout << c;
  58.                 }
  59.             }
  60.         }
  61.     }
  62. ****************************************************************************************************************
  63.     //Узнаем на какой позиции находится первый знак препинания
  64.     string s;
  65.     getline(cin, s);
  66.     int first = s.find_first_of("?!.");  Позиция первого знака препинания
  67.     //Найти первый из перечисленных в строке символов
  68.     int second = s.find_first_of("?!.", first + 1);  второй параметр означает позицию, начиная с которой будем искать
  69.     !!!второй параметр также есть в функции find!!!
  70.     !!!Если, например, нужно просто искать все вхождения, то можем циклом while пробежаться find с двумя параметрами!!!
  71.  
  72.     cout << s.substr(first + 2, second - first - 2);
  73.  
  74.     return 0;
  75. }  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement