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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 145
09.11.2013, 14:13     Удалить слова которые начинаются с заглавной буквы #1
Есть текстовый файл в котором ~70 тыс. слов. Нужно удалить все слова которые начинаются с заглавной буквы. Все слова записаны просто через пробел без каких либо запятых точек и других символов. Текст кириллицей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 14:13     Удалить слова которые начинаются с заглавной буквы
Посмотрите здесь:

C++ Удалить из строки все слова, которые начинаются на заглавную букву
C++ вывести слова которые начинаются с одной и той же буквы
C++ вывести на экран все слова которые начинаются с заглавной буквы
Строки. Подсчитать слова, которые начинаются с буквы B C++
Удалить все слова, которые начинаются и заканчиваются за одну и ту же букву C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kpoxaa
70 / 31 / 1
Регистрация: 03.08.2012
Сообщений: 446
09.11.2013, 14:27     Удалить слова которые начинаются с заглавной буквы #2
Выкладывайте проблему. Если нужно для вас это написать, пишите в лс. Или задавайте вопрос по коду, будем помогать.
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 145
09.11.2013, 15:03  [ТС]     Удалить слова которые начинаются с заглавной буквы #3
kpoxaa, как определить заглавная буква или нет? как потом удалить из файла слово которое начинается с этой буквы?
SeeT
 Аватар для 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
Сообщений: 145
09.11.2013, 15:13  [ТС]     Удалить слова которые начинаются с заглавной буквы #5
SeeT, а нету какой-то стандартной ф-ции для определения заглавных букв?
а если слова на украинском например? что тогда делать с буквами Ї Є Ґ?
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для 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
 Аватар для 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
Сообщений: 145
10.11.2013, 13:25  [ТС]     Удалить слова которые начинаются с заглавной буквы #9
ZaMaZaN4iK, Nekto, спасибо, воспользуюсь.
programina
 Аватар для programina
1912 / 597 / 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]
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 13:39     Удалить слова которые начинаются с заглавной буквы
Еще ссылки по теме:

Подсчитать и вывести на экран слова которые начинаются с гласной буквы C++
C++ Найти в строке те слова, которые начинаются с прописной буквы
Все слова строки, которые начинаются с данной буквы, отсортировать в алфавитном порядке C++

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

Или воспользуйтесь поиском по форуму:
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
10.11.2013, 13:39     Удалить слова которые начинаются с заглавной буквы #11
А что, всем слабо проверять 6 бит что-ли?
Yandex
Объявления
10.11.2013, 13:39     Удалить слова которые начинаются с заглавной буквы
Ответ Создать тему
Опции темы

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