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

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

Восстановить пароль Регистрация
 
ka1n
 Аватар для ka1n
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 15:24     Строки(стринг).....удаление слов из текста #1
искал по всему форуму, но подобной ситуации не нашёл(
Задача такая:
1)вводится произвольный текст
2)вводится натуральное целое число N
3)выводится текст, заменяя каждое N слово (считая от начала) дефисом, то есть если ввести 3, то в каждой новой строке за место 3 слова должен быть "-"
Помогите кто сможет, задача не трудная вроде как и много сил не потребует. Пытался переделать коды типа http://www.cyberforum.ru/cpp-beginne...read71887.html , но так и не нашёл как обозначить N-ое слово чтоб его заменить
пысы: на С++....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
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;
}
ka1n
 Аватар для ka1n
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 16:33  [ТС]     Строки(стринг).....удаление слов из текста #3
бесконечно благодарен, пасиб дружищще) Теперь осталось тока самому разобраться и схему джексона нарисовать, наш препод изверг

Добавлено через 8 минут
Слушайте, а можно ли разбить этот алгоритм на функции?
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.12.2009, 17:14     Строки(стринг).....удаление слов из текста #4
можно, но програмка сам видешь небольшая особого смысла нет.
можешь выделить как функцию трансформацию строки
ka1n
 Аватар для ka1n
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 17:23  [ТС]     Строки(стринг).....удаление слов из текста #5
А можешь выложить как бы она выглядела юзая функцию. Смысл в том что нам задали сделать всё это двояко, через 1)стринг и 2)разбив на функии.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2009, 18:25     Строки(стринг).....удаление слов из текста
Еще ссылки по теме:

C++ Строки. Удаление слов
C++ Удаление слов из текста
Перевод из c# в с++: удаление заданного текста из строки C++
C++ Удаление из строки слов, длина которых меньше заданной
C++ Найти ошибку: удаление повторяющихся слов из строки

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

Или воспользуйтесь поиском по форуму:
ka1n
 Аватар для ka1n
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 10
13.12.2009, 18:25  [ТС]     Строки(стринг).....удаление слов из текста #7
всё, пасиба)
Yandex
Объявления
13.12.2009, 18:25     Строки(стринг).....удаление слов из текста
Ответ Создать тему
Опции темы

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