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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
#1

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

09.11.2013, 14:13. Просмотров 1340. Ответов 10
Метки нет (Все метки)

Есть текстовый файл в котором ~70 тыс. слов. Нужно удалить все слова которые начинаются с заглавной буквы. Все слова записаны просто через пробел без каких либо запятых точек и других символов. Текст кириллицей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 14:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить слова которые начинаются с заглавной буквы (C++):

Вывести на экран все слова, которые начинаются с заглавной буквы - C++
помогите написать программу которая находит и выводит на экран слова которые начинаются с заглавной буквы. Текст с которого нужно найти...

Удалить из сообщения все слова, начинающиеся с заглавной буквы - C++
Вот код,для нахождения слов с заглавной буквы,а вот удалить не придумал как,знаю,что вроде с помощью операции s.erase(i,n) #include...

Строки. Подсчитать слова, которые начинаются с буквы B - C++
Читайте строки. Напишите программу, которая подсчитывает слова, которые начинаются с буквы B

Найти в строке те слова, которые начинаются с прописной буквы - C++
Помогите, пожалуйста, а то я в информатике, а тем более в С++ совсем не шарю) Дана строка. Словом текста считается любая...

Вывести слова которые начинаются с одной и той же буквы - C++
как в структуре, вывести слова которые начинаются с одной и той же буквы? можете реализовать это в коде?

Подсчитать и вывести на экран слова которые начинаются с гласной буквы - C++
С клавиатуры вводится текст. Подсчитать и вывести на экран слова которые начинаются с гласной буквы.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kpoxaa
72 / 33 / 1
Регистрация: 03.08.2012
Сообщений: 446
09.11.2013, 14:27 #2
Выкладывайте проблему. Если нужно для вас это написать, пишите в лс. Или задавайте вопрос по коду, будем помогать.
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
09.11.2013, 15:03  [ТС] #3
kpoxaa, как определить заглавная буква или нет? как потом удалить из файла слово которое начинается с этой буквы?
SeeT
53 / 23 / 2
Регистрация: 12.10.2012
Сообщений: 132
Записей в блоге: 1
09.11.2013, 15:09 #4
Цитата Сообщение от gorus95 Посмотреть сообщение
как определить заглавная буква или нет?
Вполне вероятно, что решить можно так: (сделал бы сам, но мне лень)))

1. Каждый символ имеет свой соответствующий код. Вот даже таблицу Вам нашел. С помощью нее, отбираете коды всех заглавных букв. Делаете поиск. Как только нашлась заглавная буква -->

2. Удаляете все буквы подряд до тех пор, пока не найдет пробел.

3. Ищет дальше

Как-то так сделал бы я)
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
09.11.2013, 15:13  [ТС] #5
SeeT, а нету какой-то стандартной ф-ции для определения заглавных букв?
а если слова на украинском например? что тогда делать с буквами Ї Є Ґ?
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
09.11.2013, 16:34 #6
SeeT, вообще то можно с помощью библиотечной функции сделать проверку.Это делается так:
C++
1
2
3
#include <iostream>
 
if(s[i] == toupper(s[i]))//заглавная, иначе нет
SeeT
53 / 23 / 2
Регистрация: 12.10.2012
Сообщений: 132
Записей в блоге: 1
09.11.2013, 18:39 #7
ZaMaZaN4iK, наверное. Я сам еще новичок и с этим методом не знаком. Значит, gorus95, воспользуйтесь его методом
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.11.2013, 18:49 #8
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
SeeT, вообще то можно с помощью библиотечной функции сделать проверку.Это делается так:
C++
1
2
3
#include <iostream>
 
if(s[i] == toupper(s[i]))//заглавная, иначе нет
Зачем конвертировать для проверки? http://www.cplusplus.com/reference/cctype/isupper/
C++
1
int isupper ( int c );
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
10.11.2013, 13:25  [ТС] #9
ZaMaZaN4iK, Nekto, спасибо, воспользуюсь.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2013, 13:38 #10
C++
#include<iostream>
#include<string>
using namespace std;
 
int main() 
{ 
    string s = "Hello";
 
    cout << s << endl;
 
    if(isupper(s[0])) 
        s[0] = tolower(s[0]);
 
    cout << s << endl;
}
Добавлено через 2 минуты
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
if(s[i] == toupper(s[i]))
Очень долго проверять каждую букву файла, вместо этого достаточно проверить первый символ каждого слова s[0]
Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
10.11.2013, 13:39 #11
А что, всем слабо проверять 6 бит что-ли?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 13:39
Привет! Вот еще темы с ответами:

Получить из строки все слова, которые начинаются с гласной буквы. - C++
Есть текстовая строка произвольной длины, получить с неё все слова, которые начинаются с гласной буквы.

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

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

Посчитать количество слов во введенной строке и найти слова, которые начинаются с буквы t - C++
Суть задания такова... 1-посчитать к-во слов во введенной строке. 2-Найти слова, которые начинаются с буквы t. 3-Тут главная проблема -...


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

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

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