Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
vasiliy21
26 / 26 / 9
Регистрация: 24.10.2012
Сообщений: 135
#1

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

31.10.2012, 17:58. Просмотров 1046. Ответов 14
Метки нет (Все метки)

Нужно написать программу, которая удаляет из текста все слова, которые расположены после
ком.
http://www.cyberforum.ru/cpp-beginners/thread2151978.html
Я здесь несколько прикинул, но не понимаю как правильно сделать.

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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 17:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить из текста все слова, которые расположены после запятой (C++):

Удалить из текста все слова, которые входят в него один раз
Здравствуйте. Необходимо изъять из заданного текста, все слова которые входят в...

Удалить из текста все слова, которые начинаются с букв, заданных в строке запроса
Пытался сам написать,но выдает ошибку.Как правильно должен выглядеть...

Из текста удалить все буквы в, которые стоят сразу после буквы с
Подскажите, как решить задание(текст должен вводится пользователем на русском)

Вывести все слова текста, которые отличны от последнего слова, предварительно преобразовав их
Решить задачу на обработку текста, используя функции работы со строками....

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

14
mad_svyat
17 / 17 / 15
Регистрация: 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;
}
1
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
31.10.2012, 20:30 #3
что значит расположенных после ком?
0
mad_svyat
17 / 17 / 15
Регистрация: 10.01.2012
Сообщений: 34
31.10.2012, 20:35 #4
Я так понял, после запятых. "comma" - запятая по-английски.
1
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
31.10.2012, 20:37 #5
Логично.
0
vasiliy21
26 / 26 / 9
Регистрация: 24.10.2012
Сообщений: 135
31.10.2012, 20:51  [ТС] #6
Цитата Сообщение от mad_svyat Посмотреть сообщение
Так прямо и юзай класс string:
А по простому как это сделать?
0
alsav22
5438 / 4833 / 831
Регистрация: 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; // тут ошибку выдаёт
...
0
fragnat
11 / 11 / 5
Регистрация: 17.12.2009
Сообщений: 77
31.10.2012, 21:16 #8
alsav22, Что у Вас за компилятор?
0
vasiliy21
26 / 26 / 9
Регистрация: 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;
}
0
Venzo
125 / 123 / 16
Регистрация: 03.07.2011
Сообщений: 354
31.10.2012, 21:38 #10
fragnat, у меня g++, на такое тоже вроде ругается, что по-моему вполне логично...
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.10.2012, 21:48 #11
Цитата Сообщение от fragnat Посмотреть сообщение
alsav22, Что у Вас за компилятор?
Студия 2010.

Добавлено через 3 минуты
Цитата Сообщение от ZoRT Посмотреть сообщение
fragnat, у меня g++, на такое тоже вроде ругается, что по-моему вполне логично...
В Code Blocks (mingv) пропускает, но правильнее всё же #include <string>. cout это же С++.
0
Venzo
125 / 123 / 16
Регистрация: 03.07.2011
Сообщений: 354
31.10.2012, 21:53 #12
alsav22, я имел ввиду, что если подключать <string.h> и string s = "";, то будет ругаться, т.к при <string> и при <string.h> подключаются разные файлы(класс стринг и ф-и для работы с С-строками соответственно)
0
alsav22
5438 / 4833 / 831
Регистрация: 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> всё подключается?
0
Venzo
125 / 123 / 16
Регистрация: 03.07.2011
Сообщений: 354
02.11.2012, 00:37 #14
Цитата Сообщение от alsav22 Посмотреть сообщение
В mingv можно даже #include <string.h> убрать, и всё равно работает.
у меня тоже mingv, но не работает откройте, может и правда подключается там...
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.11.2012, 01:11 #15
mingv они тоже разные бывают.
0
Миниатюры
Удалить из текста все слова, которые расположены после запятой  
02.11.2012, 01:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 01:11
Привет! Вот еще темы с решениями:

Удалить из текста слова которые встречается максимальное количество раз
Пусть задано множество строк в файле. Отредактировать текст, удалив из него то...

Удалить из текста все символы, которые не являются буквами
Удалит из текста все символы, которые не являются буквами латинского алфавита...

Удалить из текста все вхождения заданного слова
Суть в следующем: из произвольного текста ( Не понимать друг друга плохо - не...

Удалить все вхождения заданного слова из текста
Доброго времени суток. Имеется три программы, времени очень мало, нужно...


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

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

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