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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
phoenixxt
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 2
#1

Работа со string, который под вектором - C++

05.03.2016, 18:42. Просмотров 181. Ответов 3
Метки нет (Все метки)

Не могу никак понять как удалить символ из строчки, которая является элементом вектора. Честно гуглил и в русском, и в английском интернете, но найти информацию по работе с подстроками строк, которые элементы вектора не смог. Не исключён вариант того, что плохо искал, конечно... В общем, вот пример того, как я пытался мыслить:
C++
1
2
3
4
5
6
7
8
9
10
for (auto i = a.begin(); i != a.end(); ++i)
    {
        h = *i;
        for (int j = 0; j != h.size(); ++j)
          if ((h[j] == ',') || (h[j] == '.') || (h[j] == '?') || (h[j] == '!'))
          {
            h.erase(j,1);
            *i = h;
          }
    }
Где, a - vector<string>, h - string.
Также пробовал с помощью range for
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2016, 18:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со string, который под вектором (C++):

Корень под корнем, который под корнем, который в свою очередь под корнем., под корнем - C++
Правильно ли я составил код? #include &lt;iostream&gt; using namespace std; int main() { double e = 0; double n = 3; double...

Работа с вектором - C++
Помогите разобраться что к чему, примеров найти не смог: Спасибо.

Работа с вектором - C++
Задание: Вектор В сформировать из целых случайных чисел в диапазоне . а) найти минимальный элемент вектора. б) найти произведение Р...

Работа с вектором - C++
Здравствуйте! Помогите, пожалуйста разобраться..я только изучаю язык. Как в данной программе реализовать графический интерфейс? Чтобы...

Работа с вектором из класса - C++
Доброго времени суток ! Не до конца понимаю &quot;Как это работает&quot;© Есть вектор указателей, объявленный в main() ...

Не правильная работа memcpy с вектором - параметром функции - C++
Есть функция int InitX( CUSTOMVERTEX InVertexes, int VertexCount ) { //... void* pBV; memcpy(pBV,...

3
sab1ch
BrainOverflow
123 / 127 / 41
Регистрация: 31.03.2013
Сообщений: 556
05.03.2016, 18:53 #2
phoenixxt, удалить символы, которые указаны в условии? Если да, то, честно говоря, я создал строку, инициализировал ей вектор и вывел его. Или что-то другое нужно? (Правда, если много символов одних и тех же поставить в ряд, то они все не удалятся)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    string h = "Pr.iv,e?t";
    vector<string> a{h};
 
    for (auto i = a.begin(); i != a.end(); ++i)
    {
        h = *i;
        for (int j = 0; j != h.size(); ++j)
            if ((h[j] == ',') || (h[j] == '.') || (h[j] == '?') || (h[j] == '!'))
            {
                h.erase(j, 1);
                *i = h;
            }
    }
    for (auto &i : a)
    {
        cout << i << ' ';
    }
1
nd2
2353 / 1943 / 681
Регистрация: 29.01.2016
Сообщений: 6,326
05.03.2016, 19:03 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    std::vector <std::string> a;
    a.push_back("1111, 111!");
    a.push_back("22222? wer.");
    a.push_back("3., wer!&?.");
    
    std::copy(a.begin(), a.end(), std::ostream_iterator <std::string>(std::cout, "\n"));
 
    for (auto i = a.begin(); i != a.end(); ++i)
    {
        for (auto j = (*i).begin(); j != (*i).end(); )
        {
            if (*j == ',' || *j == '.' || *j == '?' || *j == '!')
            {
                j = (*i).erase(j);
            }
            else
                ++j;
        }
    }
    std::cout << std::endl;
    std::copy(a.begin(), a.end(), std::ostream_iterator <std::string>(std::cout, "\n"));
 
    system("pause");
1
Миниатюры
Работа со string, который под вектором  
phoenixxt
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 2
05.03.2016, 19:14  [ТС] #4
Всем спасибо, разобрался! Оказывалось, что проблема у меня была немного в другом. А отдельно от остальных функций, само удаление протестировать я не додумался, идиот))
0
05.03.2016, 19:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2016, 19:14
Привет! Вот еще темы с ответами:

String, который не дружит с пробелами - C++
Добрый день. Имеется несколько вопросов: во-первых, почему в примере адреса выводятся только по одному слешу, тогда как я указал два?...

Разработать класс String, который в дальнейшем будет использоваться для работы со строками - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; class string_ { char *s; ...

Разработать класс String, который в дальнейшем будет использоваться для работы со строками. - C++
Всем доброго времени суток! Помогите пожалуйста т.к я не очень понимаю задание, что от меня требуется, распишите по пунктам, что мне...

Разработать класс String, который в дальнейшем будет использоваться для работы со строками - C++
Всем доброго времени суток! Вот задание: Разработать класс String, который в дальнейшем будет использоваться для работы со...


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

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

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