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

Удалить из текста все слова, которые входят в него один раз - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Расчет времени прохождения процесса http://www.cyberforum.ru/cpp-beginners/thread1308296.html
Здраствуйте. Перед мной поставили следующую задачу (в файле) : Если в кратце просчитать, время прохождения по каждому пути, учитывая что каждый процесс имеет свою скорость... Было сказано что это все должно быть реализовано с помощью структуры... Собственно вопрос, подскажите хоть ход решения этой задачи, ибо у меня получилась некая каша.. даже не знаю как и с чего правильно начать...
C++ Как найти максимальный элемент У меня есть код который в элементах массива переставляет крайние цифры. Например я введу размерность 5 -> 11,12,43,56,78 цифры станут 11,21,34,65,87 . У меня есть функция которая осуществляет поиск максимального элемента int maximum(int *arr, int size) { int max; max = arr; for(int i=0; i<size; i++) { if(arr>max) http://www.cyberforum.ru/cpp-beginners/thread1308286.html
Странное поведение синонимов классов C++
создал свой класс: template <class Type> template <class Type> class VRTSmartStr { #define TSmartString VRTSmartStr<Type> private: typedef typename Type* P_Str; P_Str Buf = NULL;
Вычислить значение выражния C++
Задачи надо переписывать!!!! Я понимаю что это легко но не понимаю как решать с max! пожалуйста помогите !
C++ Реализовать запись данных в файл http://www.cyberforum.ru/cpp-beginners/thread1308248.html
Написать программу для организации работы сети магазинов, у которых есть общий склад. Для всех магазинов сети есть один общий список товаров, которые могут в нем продаваться, но их наличие и количество в магазине отличается. Реализовать такие возможности- продажа товара и возможность вывода данных о продажах по указанному магазину сети. Реализовать запись данных в файл .....................
C++ Удаление всех минимальных элементов из массива Прошу, помогите исправить функцию. :scratch: Есть задача: удалить из массива все элементы, равные минимальному элементу массива. (Описать соответствующую функцию) И проблема: вместо удаления минимальных элементов, удаляются элементы с нечетными номерами. Кажется, алгоритм правильный. Все перерыла и все перепробовала уже, в итоге все равно выводится ересь. Вот моя функция: void delete_min(int... подробнее

Показать сообщение отдельно
hoggy
5228 / 2119 / 403
Регистрация: 15.11.2014
Сообщений: 4,806
Завершенные тесты: 1
24.11.2014, 22:29     Удалить из текста все слова, которые входят в него один раз
http://rextester.com/CLAKY61330

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
#include <set>
 
using namespace std;
 
//---------------------------------------------------------------
// взято отсюда: <4>
// [url]http://stackoverflow.com/questions/236129/split-a-string-in-c[/url]
//---------------------------------------------------------------
template <class ContainerT>
void Tokenize(const std::string& str, 
    ContainerT& tokens,
    const std::string& delimiters = " ",
    bool trimEmpty = false)
{
   std::string::size_type pos, lastPos = 0;
 
   using value_type = typename ContainerT::value_type;
   using size_type  = typename ContainerT::size_type;
 
   while(true)
   {
      pos = str.find_first_of(delimiters, lastPos);
      if(pos == std::string::npos)
      {
         pos = str.length();
 
         if(pos != lastPos || !trimEmpty)
            tokens.push_back(value_type(str.data()+lastPos,
                  (size_type)pos-lastPos ));
         break;
      }
      else
      {
         if(pos != lastPos || !trimEmpty)
            tokens.push_back(value_type(str.data()+lastPos,
                  (size_type)pos-lastPos ));
      }
 
      lastPos = pos + 1;
   }
}
//---------------------------------------------------------------
//---------------------------------------------------------------
 
void Cut(string& text, const string& word)
{
    const auto it = search( text.begin(), text.end(), word.begin(), word.end() );
    text.erase(it, it + word.size());
}
 
int main()
{
    std::cout << "Hello, world!\n";
    
    string punctuation = ",;.!: ";
    string text = "111! 222, 333, 111; 222";
 
    cout<<"before: '"<< text<<"'\n";
    
    vector<string> words;
    Tokenize(text, words, punctuation, true);
    
    multiset<string> myset;
    for(const auto& w: words)
        myset.insert(w);
    
    string last;    
    for(const auto& word: myset)
        if(word==last || (last = word, myset.count(word)!=1) )
            continue;
        else
            Cut(text, word);
    
    cout <<"after : '"<< text << "'\n";
}
 
Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru