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

Если в тексте есть одинаковые слова, заменить все их экземпляры символом из заданного набора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция, которая удаляет начальные и конечные пробелы из строки http://www.cyberforum.ru/cpp-beginners/thread1179555.html
Написать функцию, которая удаляет начальные и конечные пробелы из строки, полученной в качестве аргумента Добавлено через 1 час 33 минуты Поможет кто с задачей, буду очень благодарен....
C++ Найти строки матрицы с наибольшей и наименьшей суммой элементов Доброго времени суток! Если кто-то может, !!!ПОМОГИТЕ!!! с решением задачи (желательно подробно-детально, чтобы я мог разобраться, как в дальнейшем я мог бы составлять похожие проги). Задача:... http://www.cyberforum.ru/cpp-beginners/thread1179545.html
C++ С++
Задание Класс 1 «Координаты» (градусы широты, минуты широты, градусы долготы, минуты долготы): - конструкторы (по умолчанию, инициализация пользователем); - методы доступа. Класс 2 «Город»...
C++ Функции работы с файлами через поток не работают! Подскажите ошибку?
int Write(House **massiv2, int *size2, int *size) { int i=0; ifstream file; char file_name = ""; printf("Type the file path\n"); getchar(); gets(file_name); ...
C++ Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел http://www.cyberforum.ru/cpp-beginners/thread1179531.html
Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по величине #include<stdio.h> #include<conio.h> struct Student { char fam; int...
C++ Дружественная функция. Класс Passport Создать класс Passport со следующими полями: -номер паспорта -фамилия (указатель на строку) Конструктор должен выделять память под строку, ориентируясь на длину введеной (переданной строки) ... подробнее

Показать сообщение отдельно
Naginata
-65 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 60

Если в тексте есть одинаковые слова, заменить все их экземпляры символом из заданного набора - C++

19.05.2014, 21:46. Просмотров 1325. Ответов 11
Метки (Все метки)

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

"Задан текст, состоящий из слов, разделённых одним пробелом. В тексте нет никаких специальных символов. Если в тексте есть одинаковые слова, заменить все их экземпляры символом из заданного набора (для каждого варианта повторяющихся слов брать одинаковый специальный символ, для разных вариантов новый)."

Поверите ли вы мне или нет, но я бы и сам разобрался с этим, но я потрачу на это слишком много времени, а у меня очень скоро сессия и другими предметами мне тоже стоит заняться, потому пожалуйста, кому не лень и есть время, окажите услугу. P.S. Я понимаю, что уже много прошу, но можно ещё и комментарии, хотя-бы к каждому блоку программы, сами знаете, каково это, разбираться в чужом коде, особенно, если программа не самая простая.

Добавлено через 3 часа 38 минут
Данное сообщение было добавлено дабы тема вернула себе статус "активна" и была замечена пользователями.

Добавлено через 2 часа 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
24
25
26
27
28
29
#include "stdafx.h"
#include "iostream"
#include <locale>
#include <string>
 
 
using namespace std;
        
 int main()
{setlocale(LC_ALL,"RUSSIAN");
string str=(" Однажды идя домой я заметил свет исходящй из кустов и я был ошарашен тем что я увидел в кустах лежал крайне приметной раскраски шар затем подойдя к нему ближе что то меня коснулось и я проснулся оказалось это был сон");
string str1=("я");
string str2=("что");
string str3=("и");
size_t found=str.find(str1);
if (found!=string::npos)
cout << "'я' было найдено: "<< '\n';
str.replace(str.find(str1),str1.length(),"1");
size_t found=str.find(str2);
if (found!=string::npos)
cout << "'что' было найдено: "<< '\n';
str.replace(str.find(str2),str2.length(),"2");
size_t found=str.find(str3);
if (found!=string::npos)
cout << "'и' было найдено: "<< '\n';
str.replace(str.find(str3),str3.length(),"3");
cout << str << '\n';
return 0;
}
P.S. Я не знаю, почему не работает, я всё сделал по шаблону, вроде хоть так, но должно работать, вот а каком шаблоне речь: http://www.cplusplus.com/reference/string/string/find/ .

Добавлено через 6 минут
Обновление: Нашёл свою ошибку, можно вы подскажете, как сделать так, чтобы символы искались только сами по себе, а не в словах тоже?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.