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

Строки(стринг).....удаление слов из текста

13.12.2009, 15:24. Показов 1202. Ответов 6
Метки нет (Все метки)

искал по всему форуму, но подобной ситуации не нашёл(
Задача такая:
1)вводится произвольный текст
2)вводится натуральное целое число N
3)выводится текст, заменяя каждое N слово (считая от начала) дефисом, то есть если ввести 3, то в каждой новой строке за место 3 слова должен быть "-"
Помогите кто сможет, задача не трудная вроде как и много сил не потребует. Пытался переделать коды типа https://www.cyberforum.ru/cpp-... 71887.html , но так и не нашёл как обозначить N-ое слово чтоб его заменить
пысы: на С++....
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2009, 15:24
Ответы с готовыми решениями:

Формирование массива слов и удаление из текста слов, которые встречаются заданное число раз
Доброго времени суток. Помогите, пожалуйста! Задача заключается в том, что нужно из введенного...

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

Удаление слов из текста
Дан текст. Из него нужно удалить слова определенные слова. Как реализовать сей код?

Удаление слов из текста
Безуспешно пытаюсь решить эту задачу, гугл не помогает: Составьте программу вычеркивания из текста...

6
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
13.12.2009, 16:14 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
#include <iostream>
#include <string>
 
 
using namespace std;
 
int main(void)
{
    string str, strNumb="";
    int index, cnt=1,number;
 
    cout << "Enter text: "; getline(cin, str);  str+=" ";
    cout << "Enter number: "; cin>>number;
 
    while ((index=str.find_first_of(" "))!=string::npos)
    {
        if(cnt%number)  strNumb+=str.substr(0,index+1);
        else                        strNumb+="- ";
 
        str=str.substr(index+1);           
        ++cnt;  
    }
 
    cout<<"str: "<<strNumb<<endl;
    system("pause");
    return 0;
}
1
0 / 0 / 1
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 16:33  [ТС] 3
бесконечно благодарен, пасиб дружищще) Теперь осталось тока самому разобраться и схему джексона нарисовать, наш препод изверг

Добавлено через 8 минут
Слушайте, а можно ли разбить этот алгоритм на функции?
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
13.12.2009, 17:14 4
можно, но програмка сам видешь небольшая особого смысла нет.
можешь выделить как функцию трансформацию строки
0
0 / 0 / 1
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 17:23  [ТС] 5
А можешь выложить как бы она выглядела юзая функцию. Смысл в том что нам задали сделать всё это двояко, через 1)стринг и 2)разбив на функии.
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
13.12.2009, 18:05 6
эт если тебе надо сохранить первоначальную строку в начальном виде, а вообще можно передовать просто ссылку на строку и препарировать её как нужно. -> void ReplaceWord(const int number, string & sourse)

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
#include <iostream>
#include <string>
 
 
using namespace std;
 
string ReplaceWord(const int number, const string & sourse)
{
    string strNumb="", str=sourse;
    int index, cnt=1;
    while ((index=str.find_first_of(" "))!=string::npos)
    {
        if(cnt%number)  strNumb+=str.substr(0,index+1);
        else            strNumb+="- ";
 
        str=str.substr(index+1);                   
        ++cnt;  
    }
 
    return strNumb;
}
 
int main(void)
{
    string str;
    int number;
 
    cout << "Enter text: "; getline(cin, str);      str+=" ";
    cout << "Enter number: "; cin>>number;
 
    cout<<"str: "<<ReplaceWord(number,str)<<endl;
    system("pause");
    return 0;
}
1
0 / 0 / 1
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 18:25  [ТС] 7
всё, пасиба)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2009, 18:25

Удаление слов из текста
Можно простой пример как правильно удалять слова из текста при помощи обычных строковых функций? В...

Удаление слов из текста
Добрый день! есть задачка: Определить самое короткое слово в каждом предложении. Удалить эти слова...

Удаление слов из текста...
Удалить слова из данного текстового файла, длина которых превышает задаваемое число n.Помогите...

Удаление определенных слов из текста
У меня есть два файла &quot;.txt&quot; в одном хранится текст, а в другом слова, которые запрещено...


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

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

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