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

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

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

Заменить в заданной символьной строке все слова, содержащие указанную букву на соответствующее количество символов '*' - C++

03.01.2014, 19:33. Просмотров 463. Ответов 1
Метки нет (Все метки)

Написать функцию, которая заменяет в заданном символьном строке все слова, содержащие указанную букву на соответствующее количество символов '*'.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2014, 19:33     Заменить в заданной символьной строке все слова, содержащие указанную букву на соответствующее количество символов '*'
Посмотрите здесь:

Удалить все слова, содержащие указанную пользователем букву - C++
Собственно задание указано в теме. Как я понимаю, мне надо разбить предложение на слова, а потом удалить те, которые содержат эту букву. У...

Удалить все слова, содержащие указанную пользователем букву - C++
Собственно задание указано в теме. Как я понимаю, мне надо разбить предложение на слова, а потом удалить те, которые содержат эту букву. ...

Разработать функцию, которая меняет слова, содержащие заданную комбинацию символов, на соответствующее количество символов # - C++
Разработать функцию, которая меняет в предложении все слова, содержащие заданную комбинацию символов на соответствующее количество символов...

В заданной символьной строке, содержащей две точки, определить количество символов между точками - C++
1. Задана символьная строка, содержащая две точки. Определить и напечатать количество символов между точками.

Заменить в заданной строке все буквы «о» на букву «а» - C++
Как вот понять это условие кто понял напишете решение.

В символьной строке определить количество и вывести все самые длинные слова - C++
Дан символьный рядок.Слово - последовательность символов между пробелами, не содержащие пробелов внутри себя. Определить количество и...

В строке указать слова содержащие заданную букву - C++
Дан массив символов, представляющих собой текст. Указать в нем те слова, которые содержат заданную с клавиатуры букву

В заданной строке заменить русскую букву символом * - C++
по условию "В заданной строке заменить русскую букву символом * " не заменяет так , как надо(фото) код ниже: #include <iostream> ...

В символьной строке удалить все слова, состоящие из N - букв - C++ - C++
Помогите пожалуйста не могу написать программу через string.

В символьной строке удалить все слова, начинающиеся с гласной буквы - C++
В символьной строке удалить все слова, начинающиеся с гласной буквы. Не допускается использование библиотек работы с символьными строками....

В символьной строке удалить все слова, состоящие более чем из N - букв - C++
Напихал все что можно, не работает. Программирования не знаю похоже):wall: #include <iostream> // огранизация ввод/вывод #include...

В символьной строке удалить все слова, состоящие более чем из N букв - C++
Не использовать дефолтные функции работы со строками (например strstr, strlen) -В символьной строке удалить все слова, состоящие более...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
821 / 488 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
03.01.2014, 19:47     Заменить в заданной символьной строке все слова, содержащие указанную букву на соответствующее количество символов '*' #2
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
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
 
int main()
{
    int n = 4;
    string str,tmp;
    cout <<"Stroka: ";
    getline (cin,str);
    char ch;
    cout <<"Letter: ";
    cin >> ch;
    int i = 0;
    while (i<str.length())
    {
          if (isalpha(str[i]))
          {
              tmp.clear();
              while (i<str.length() && isalpha(str[i]))
              {
                    tmp.append (1,str[i]);
                    ++i;
              }
              if (tmp.find(ch)!=-1)
              {
                  str.erase (i-tmp.size(),tmp.size());
                  i-=tmp.size();
                  tmp.clear();
                  tmp.append (n,'*');
                  str.insert(i,tmp);
              }
          }
          else ++i;
    }
    cout <<str <<endl;
    return 0;
}
Ответ Создать тему
Опции темы

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