Форум программистов, компьютерный форум CyberForum.ru

Поиск слов и замена окончаний - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка унарного оператора http://www.cyberforum.ru/cpp/thread260316.html
у меня есть метод, который выводит просто строку void CTimeCycle::operator>>(int x) { cout<<"123"; return ; } когда хочу заменить перегружаемый оператор с бинарного на унарный выдает ошибку void CTimeCycle::operator!() { cout<<"123";
C++ Borland C++ Bouilder 6 или microsoft visual c++ Подскажите пожалуста какой редактор лучше выбрать Borland C++ Bouilder 6 или microsoft visual c++. Мне советовали visual c++ говорят в нем больше функций. Я сам только начинаю учиться C++ у меня уже установлен Borland C++ Bouilder 6 но хочу microsoft visual c++ так как в книге расматриваются примеры microsoft visual c++ 6.0 по поэтому хочется услышать мнения опытных, и еще искал в интернете... http://www.cyberforum.ru/cpp/thread260305.html
Нужно сделать программу работоспособной с малейшими изменениями. C++
Я новичок в языке программирования. Помогите пожалуйста. Задание: Даны два файла. Найти в них несовпадающие слова, имеющие не менее 2 цифр. Вывести каждое такое слово в отдельную строку. За словом в скобках вывести символы слова в шестнадцатеричном виде через пробел. Например: z1s2k4M (7A 31 73 32 6B 34 4D) и т. д. Прошу строго не судить. #include <stdio.h> #include <conio.h> #include...
C++ Решите два задания!
Здравствуйте многоуважаемые форумчане, программисты! Ситуация до ужаса банальная! Я вот только недавно получил задания по программированию (хотя должен был получить ещё месяца два назад!) и толком то не освоился ещё, а учитель пресует с заданиями, якобы как хочешь -но чтобы решения были! Поэтому я надеюсь только на вас))) Всего нужны две задачки. Мне то сложно, а вам как разминка)))...да и ещё,...
C++ Как предать указатель через LPARAM http://www.cyberforum.ru/cpp/thread260155.html
Хочу обойтись без глобальных объектов в приложении на Win32Api, в приложении из GUI только два диалога (за основное окно отдувается один из диалогов), можно как-нибудь передать указатель на объект через LPARAM? Создаю диалог так: int WINAPI WinMain(...) { DialogBox(hinstance, "Dialog", NULL, DialogProc); return 0; }
C++ Обход элементов std::map в порядке их создания Имеется ассоциативный массив и его заполнение: std::map<unsigned,string> arr; arr = "abc"; arr = "def"; arr = "ghi"; Теперь если я буду обходить этот массив при помощи итераторов, то обход будет производиться в порядке возрастания ключа массива: т.е. в данном случае обойдутся элементы в порядке 7, 10, 20 Мне хочется обойти массив в порядке создания его элементов, т.е. 10, 7, 20. Вот... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
19.03.2011, 22:27     Поиск слов и замена окончаний
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
27
28
29
30
31
32
33
#include <iostream>
#include <string>
#include <vector>
#include <functional>
#include <algorithm>
 
struct transformer:public std::unary_function<std::string, std::string>
{
public:
    transformer(const std::string& to_f_, const std::string& to_r_):
      to_f(to_f_), to_r(to_r_) 
      {
      }
    result_type operator () (argument_type first)
    {
        first.erase(std::remove_if(first.begin(), first.end(), ispunct), first.end());
                       if(first.size() > to_f.size() && first.substr(first.size()-to_f.size(), to_f.size()) == to_f)
            first.replace(first.end()-to_f.size(), first.end(), to_r);
        return first;
    }
private:
    const std::string& to_f;
    const std::string& to_r;
};
 
int main()
{
    std::vector<std::string> vec((std::istream_iterator<std::string>(std::cin)), std::istream_iterator<std::string>());
    const std::string to_find="ing";
    const std::string to_replace="ed";
    std::transform(vec.begin(), vec.end(), vec.begin(), transformer(to_find, to_replace));
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}
 
Текущее время: 10:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru