Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
#1

Работа функции remove_copy_if ()

17.07.2013, 20:14. Просмотров 648. Ответов 2
Метки нет (Все метки)

вот такая функция проверки является ли выражение в строке палиндромом
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool IfPolyndrom (string  phrase) {
    string temp;
    remove_copy_if (phrase.begin (), phrase.end (), temp.begin (), NotChar);//удаляет НЕ буквы
    
    string reversed (temp);
    transform ( temp.rbegin (), temp.rend (), reversed.begin (), ToLower);//переводит в нижний регистр и записывает в обратном порядке
    cout << "   " << reversed;
    transform ( temp.begin (), temp.end (), temp.begin (), ToLower);//переводит в нижний регистр
    cout << "   " << temp;
    
    return  (temp == reversed);//всегда верно, ибо обе строки пусты (наверно)
};

известно и проверено, что строка передается корректно и функция NotChar ведет себя тоже как надо, но вот результирующая строка в temp не копируется и отладочные выводы пустуют, что делать?

Добавлено через 3 минуты
Сейчас иду спать, весь вечер над этим сидел, отвечу завтра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2013, 20:14
Ответы с готовыми решениями:

Remove_copy_if
Требуется реализовать свой аналог шаблонной функции remove_copy_if. Из...

Работа функции qsort - объяснить работу функции
#include&lt;iostream&gt; #include&lt;cstdlib&gt; int mysort(const void *arg1, const void...

Работа функции sscanf
Есть у меня функция, написанная ниже. Она работает, но возникает вопрос: как...

функции и работа с файлами
Для хранения данных о цветных сканерах описать структуру вида: struct...

Работа функции memcpy
Подскажите пожалуйста: 1. Каким образом работает функция...

2
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
17.07.2013, 20:33 #2
Цитата Сообщение от tramp_1-3 Посмотреть сообщение
C++
1
remove_copy_if (phrase.begin (), phrase.end (), temp.begin (), NotChar);
temp же пустая строка.
C++
1
remove_copy_if (phrase.begin (), phrase.end (), std::back_inserter(temp), NotChar);
1
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
18.07.2013, 04:44  [ТС] #3
Цитата Сообщение от gray_fox Посмотреть сообщение
temp же пустая строка.
Огромное спасибо, всё работает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2013, 04:44

Работа функции scanf()
Здравствуйте! Исправьте, пожалуйста, ошибку в этом коде. Я не совсем понимаю,...

Работа с массивом в функции
Не получается заставить функцию работать с определенным массивом. На выходе...

Работа функции strdup
Добрый день. Я никак не могу понять работу функции strdup. Я понимаю что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru