С++ «Неделя вторая - Функции - Отбор палиндромов» #7
Запись от acmades размещена 13.07.2017 в 16:14
Показов 33092
Комментарии 1
|
Продолжаю свою эпопею по изучению С++. Чем дальше тем интереснее. Задание: Напишите функцию, которая называется PalindromFilter возвращает vector<string> принимает vector<string> words и int minLength и возвращает все строки из вектора words, которые являются палиндромами и имеют длину не меньше minLength Входной вектор содержит не более 100 строк, длина каждой строки не больше 100 символов. Примеры words -> minLength -> результат abacaba, aba -> 5 -> abacaba abacaba, aba -> 2 -> abacaba, aba weew, bro, code -> 4 -> weew Пояснение В этой задаче вам надо сделать файл с реализацией функции PalindromFilter, а также других функций, если это необходимо (например, функции проверки на палиндром). Моё решение:
| |||||
Размещено в Основы разработки на C++: белый пояс
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
-
C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
bool IsPalindrom(string s) { int i = 0; int size = s.size(); while(1) { if (!(s[i] == s[size-i-1])) return false; else if (( i == (size-i-1) ) || (( i - (size-i-1) ) == 1)) return true; i++; } } vector<string> PalindromFilter(vector<string> words, int minLength) { vector<string> output; vector<string>::iterator it; for (it = words.begin(); it != words.end(); it++){ if (((*it).size() >= (unsigned)minLength) && IsPalindrom(*it)) output.push_back(*it); } return output; }
Запись от flash_back размещена 03.10.2017 в 14:07


