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

Удалить из текста все слова, которые расположены после запятой - C++

Восстановить пароль Регистрация
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
31.10.2012, 17:58     Удалить из текста все слова, которые расположены после запятой #1
Нужно написать программу, которая удаляет из текста все слова, которые расположены после
ком.
Я здесь несколько прикинул, но не понимаю как правильно сделать.

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
#include <iostream>
#include <string.h>
const int n=10;
using namespace std;
int main(){
    char str[n];
    int i=0;
    for( i=0;i<n;i++)
    {
    cin>>str[i];
    }
    for(i=0;i<n;i++){
                       if(str[i]==',')
                       for(int j=i;j<n;j++)
                       str[j]=str[j+1];
                       
                       }
for( i=0;i<n;i++)
    {
    cout<<str[i];
    }
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 17:58     Удалить из текста все слова, которые расположены после запятой
Посмотрите здесь:

Удалить все слова, которые начинаются и заканчиваются за одну и ту же букву C++
Удалить из строки все слова, которые не являются идентификаторами C++
Удалить из текста все символы, которые не являются буквами C++
Удалить из текста все слова, которые входят в него один раз C++
C++ Удалить из слова X все буквы, которые встречаются в слове Y
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
31.10.2012, 20:30     Удалить из текста все слова, которые расположены после запятой #2
Так прямо и юзай класс string:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string.h>
#include <iostream>
 
using namespace std;
 
int main() {
    string str = "...use the Software, you must own a licensed, registered...";
    cout << str << endl;
    size_t pos = str.find(",");
    str.erase(pos);
    cout << str;
    return 0;
}
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
31.10.2012, 20:30     Удалить из текста все слова, которые расположены после запятой #3
что значит расположенных после ком?
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
31.10.2012, 20:35     Удалить из текста все слова, которые расположены после запятой #4
Я так понял, после запятых. "comma" - запятая по-английски.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
31.10.2012, 20:37     Удалить из текста все слова, которые расположены после запятой #5
Логично.
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
31.10.2012, 20:51  [ТС]     Удалить из текста все слова, которые расположены после запятой #6
Цитата Сообщение от mad_svyat Посмотреть сообщение
Так прямо и юзай класс string:
А по простому как это сделать?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.10.2012, 20:54     Удалить из текста все слова, которые расположены после запятой #7
Цитата Сообщение от mad_svyat Посмотреть сообщение
Так прямо и юзай класс string:
Тогда уж:
C++
1
#include <string>
У меня, например, компилятор не пропускает такие сочетания:
C++
1
2
3
4
5
#include <string.h>
...
string str = "...use the Software, you must own a licensed, registered...";
cout << str << endl; // тут ошибку выдаёт
...
fragnat
 Аватар для fragnat
11 / 11 / 0
Регистрация: 17.12.2009
Сообщений: 77
31.10.2012, 21:16     Удалить из текста все слова, которые расположены после запятой #8
alsav22, Что у Вас за компилятор?
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
31.10.2012, 21:22  [ТС]     Удалить из текста все слова, которые расположены после запятой #9
Как это можно сделать немножко проще? Помогите необразованому!) Это бы сделать примерно как я в начале показал!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string.h>
#include <iostream>
 
using namespace std;
 
int main() {
    string str = "...use the Software, you must own a licensed, registered...";
    cout << str << endl;
    size_t pos = str.find(",");
    str.erase(pos);
    cout << str;
    return 0;
}
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
31.10.2012, 21:38     Удалить из текста все слова, которые расположены после запятой #10
fragnat, у меня g++, на такое тоже вроде ругается, что по-моему вполне логично...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.10.2012, 21:48     Удалить из текста все слова, которые расположены после запятой #11
Цитата Сообщение от fragnat Посмотреть сообщение
alsav22, Что у Вас за компилятор?
Студия 2010.

Добавлено через 3 минуты
Цитата Сообщение от ZoRT Посмотреть сообщение
fragnat, у меня g++, на такое тоже вроде ругается, что по-моему вполне логично...
В Code Blocks (mingv) пропускает, но правильнее всё же #include <string>. cout это же С++.
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
31.10.2012, 21:53     Удалить из текста все слова, которые расположены после запятой #12
alsav22, я имел ввиду, что если подключать <string.h> и string s = "";, то будет ругаться, т.к при <string> и при <string.h> подключаются разные файлы(класс стринг и ф-и для работы с С-строками соответственно)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.10.2012, 22:35     Удалить из текста все слова, которые расположены после запятой #13
Цитата Сообщение от ZoRT Посмотреть сообщение
alsav22, я имел ввиду, что если подключать <string.h> и string s = "";, то будет ругаться, т.к при <string> и при <string.h> подключаются разные файлы(класс стринг и ф-и для работы с С-строками соответственно)
Я так и понял. Я об этом же и говорю. Просто в разных компиляторах само подключение по разному может быть сделано. Для mingv, видимо, достаточно подключть string.h, чтобы работать со строками, как с объектами (может быть там в string.h прописан #include <string>).

Добавлено через 13 минут
В mingv можно даже #include <string.h> убрать, и всё равно работает. Может там через #include <iostream> всё подключается?
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
02.11.2012, 00:37     Удалить из текста все слова, которые расположены после запятой #14
Цитата Сообщение от alsav22 Посмотреть сообщение
В mingv можно даже #include <string.h> убрать, и всё равно работает.
у меня тоже mingv, но не работает откройте, может и правда подключается там...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 01:11     Удалить из текста все слова, которые расположены после запятой
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.11.2012, 01:11     Удалить из текста все слова, которые расположены после запятой #15
mingv они тоже разные бывают.
Миниатюры
Удалить из текста все слова, которые расположены после запятой  
Yandex
Объявления
02.11.2012, 01:11     Удалить из текста все слова, которые расположены после запятой
Ответ Создать тему
Опции темы

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