Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 28.09.2017
Сообщений: 22
1

Найти число восклицательных знаков в строке и заменить каждый из них тремя вопросительными знаками

20.11.2017, 17:39. Показов 1090. Ответов 2
Метки нет (Все метки)

Определить количество восклицательных знаков в строке и заменить каждый из них тремя вопросительными знаками. Вывести строку. Затем удалить из нее все цифры.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2017, 17:39
Ответы с готовыми решениями:

Подсчитать количество восклицательных знаков в строке
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main()...

В символьной строке, каждый пробел заменить тремя пробелами
Всем Hello, помогите с этим примером: В символьной строке, каждый пробел заменить тремя пробелами....

Во введенной строке подсчитать количество восклицательных знаков
Дополните предыдущую программу таким образом, чтобы во введенной строке сначало подсчитывалось...

Строки: в группе знаков заменить каждый из знаков знаком "+"
Дан текст, если в тексте есть группа знаков, начинающаяся знаком *, то в следующей группе заменить...

2
174 / 134 / 105
Регистрация: 14.04.2016
Сообщений: 719
20.11.2017, 17:51 2
Лучший ответ Сообщение было отмечено ProgrammistOleg как решение

Решение

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
#include <iostream>
#include <string>
 
int main()
{
    std::string line;
    std::string new_line;
 
    getline(std::cin, line);
    std::cout << line << std::endl;
 
    for (int i = 0; i < (int)(line.size()); i++)
    {
        if (line[i] == '!' || (int)(line[i]) > 47 && (int)(line[i]) < 58)
        {
            if (line[i] == '!')
                new_line += "!!!";
        }
        else
            new_line += line[i];
 
    }
 
    std::cout << new_line << std::endl;
 
    std::cin.ignore();
    std::cin.get();
}
0
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
20.11.2017, 17:51 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
#include <regex>
#include <cctype>
 
int main()
{
   std::string value = "Hello!1 My friend!2 C++!3 Is!4 Nice!5 Language!6";
   const size_t count = std::count_if(value.begin(), value.end(), [](const char c) { return c == '!'; });
   std::cout << "Count of '!': " << count << std::endl;
   value = std::regex_replace(value, std::regex("!"), "???");
   std::cout << "After replace '!': " << value << std::endl;
   value.erase(std::remove_if(value.begin(), value.end(), isdigit), value.end());
   std::cout << "After delete numbers: " << value << std::endl;
}
Live: https://wandbox.org/permlink/3mHbD8Z3OvezXosj
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2017, 17:51

Заменить в тексте, заданным с клавиатуры, каждый пробел между словами, двумя знаками подчеркивания
Заменить в тексте, заданным с клавиатуры, каждый пробел между словами, двумя знаками подчеркивания....

Заменить точки в строке восклицательными знаками
Составить программу , которая выполняет ввод строки с клавиатуры и заменяет точки в строке...

Найти частное от деления первого числа на второе, и вывести его с тремя знаками после запятой
1. Оператор присваивания. Ввести два вещественных числа, найти частное от деления первого на...

В строке заменить все точки '.' восклицательными знаками '!'
(Знатоки Паскаля поможете?) В строке заменить все точки '.' восклицательными знаками '!' Подсчитать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru