Advertisement
Kazimirko

Основы С ++ / Тема 4 / Урок 4. Зачем нужны функции / Задача 2

Mar 4th, 2021
1,875
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. /*
  2. Основы С ++ / Тема 4 / Урок 4. Зачем нужны функции / Задача 2
  3.  
  4. Задание 2
  5. - Напишите функцию, которая
  6. - называется PalindromeFilter,
  7. - возвращает vector<string>,
  8. - принимает vector<string> words и int min_length ,
  9. - возвращает из вектора words все строки-палиндромы длиной не меньше min_length.
  10. */
  11.  
  12. #include <iostream>
  13. #include <string>
  14. #include <vector>
  15.  
  16. using namespace std;
  17.  
  18. // определяет, будет ли строка s палиндромом
  19. bool IsPalindrome(string s) {
  20.     // нужно понять, будет ли s палиндромом
  21.     string word;
  22.    
  23.     for(int i = s.size()-1; i >= 0; i--) {
  24.         word = word + s[i];
  25.     }
  26.    
  27.     if (s == word)  {
  28.         return true;
  29.     }
  30.  
  31.     return false;
  32. }
  33.  
  34. vector<string> PalindromeFilter(vector<string> words, int min_length) {
  35.     // формирует и возвращает вектор подходящих палиндромов
  36.     vector<string> palWords;
  37.     for (string el : words){
  38.         if ( el.size()>=min_length and IsPalindrome(el) ){
  39.             palWords.push_back(el);
  40.         }
  41.     }
  42.     return palWords;
  43. }
  44.  
  45. int main() {
  46.     vector<string> words = {"weew", "bro", "code"};
  47.     int n;
  48.    
  49.     cin >> n;
  50.     vector<string> palindroms = PalindromeFilter(words, n);
  51.    
  52.     for (auto el : palindroms) {
  53.         cout << el << " ";
  54.     }
  55.    
  56.     return 0;
  57. }
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement