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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
#1

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

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

Нужно написать программу, которая удаляет из текста все слова, которые расположены после
ком.
Я здесь несколько прикинул, но не понимаю как правильно сделать.

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++
Пытался сам написать,но выдает ошибку.Как правильно должен выглядеть код?Заранее спасибо. #include&lt;iostream&gt; #include&lt;stdio.h&gt; ...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
31.10.2012, 20:30 #3
что значит расположенных после ком?
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
31.10.2012, 20:35 #4
Я так понял, после запятых. "comma" - запятая по-английски.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
31.10.2012, 20:37 #5
Логично.
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
31.10.2012, 20:51  [ТС] #6
Цитата Сообщение от mad_svyat Посмотреть сообщение
Так прямо и юзай класс string:
А по простому как это сделать?
alsav22
5417 / 4813 / 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
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
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
31.10.2012, 21:38 #10
fragnat, у меня g++, на такое тоже вроде ругается, что по-моему вполне логично...
alsav22
5417 / 4813 / 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
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
31.10.2012, 21:53 #12
alsav22, я имел ввиду, что если подключать <string.h> и string s = "";, то будет ругаться, т.к при <string> и при <string.h> подключаются разные файлы(класс стринг и ф-и для работы с С-строками соответственно)
alsav22
5417 / 4813 / 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
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
02.11.2012, 00:37 #14
Цитата Сообщение от alsav22 Посмотреть сообщение
В mingv можно даже #include <string.h> убрать, и всё равно работает.
у меня тоже mingv, но не работает откройте, может и правда подключается там...
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.11.2012, 01:11 #15
mingv они тоже разные бывают.
Миниатюры
Удалить из текста все слова, которые расположены после запятой  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 01:11
Привет! Вот еще темы с ответами:

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

Удалить из слова X все буквы, которые встречаются в слове Y - C++
#include &lt;iostream&gt; using namespace std; main() { string x, y; cin &gt;&gt;x; cin &gt;&gt;y;

Удалить из строки все слова, которые не являются идентификаторами - C++
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В...

Удалить из текста все слова заканчивающиеся на гласную букву - C++
Использовать можно только массив символов, переменные string и их функции запрещены( Начал пытаться продумывать решение сам и пришел...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.11.2012, 01:11
Ответ Создать тему
Опции темы

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