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

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

Войти
Регистрация
Восстановить пароль
 
regga5
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 15
#1

Удалить строки, в которых больше 7ми слов - C++

30.01.2014, 16:08. Просмотров 431. Ответов 4
Метки нет (Все метки)

Друзья.
Вторую неделю ломаю голову чем и как можно решить эту задачу.

Есть текстовый документ на 5 миллионов строк (cp1251), есть как кириллица так и латиница + цифры. Нужно удалить из него все строки в которых больше семи слов (тоесть больше 7 пробелов).

Подскажите пожалуйста чем и как

Добавлено через 6 минут
Могу разделить на куски, потом сложить обратно - если объемы большие.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 16:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить строки, в которых больше 7ми слов (C++):

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

Вывод слов из файла длина которых больше N - C++
Есть файл текстовый: rez.txt в нём находятся слова : raz dvas trisz chetirez seven eleven abra Вот написанная мною...

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

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

Массив: Удалить в матрице столбцы количество нулей в которых больше половины. - C++
То что накрапал.Здание , которое необходимо реализовать : Удалить в матрице столбцы количество нулей в которых больше половины. При этом...

Удалить все столбцы матрицы, в которых первый элемент больше последнего - C++
Спасите помогите запуталась в задаче,не получается,хотя вроде всё понятно(( Удалить все столбцы, в которых первый элемент больше...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vovan-VE
13123 / 6504 / 185
Регистрация: 10.01.2008
Сообщений: 15,061
31.01.2014, 16:15 #2
А в линуксах есть grep
0
regga5
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 15
31.01.2014, 16:45  [ТС] #3
А я знаю )
Но увы не знаком с Линуксом вообще никак
0
SoftIce
10017 / 3550 / 907
Регистрация: 27.07.2011
Сообщений: 8,443
Завершенные тесты: 1
31.01.2014, 18:14 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от regga5 Посмотреть сообщение
(тоесть больше 7 пробелов
7 пробелов - 8 слов

Вот набросал программку. Файл из 7 тыс строк обрабатывает моментально.Насчет 5 млн. - не знаю, попробуй. В крайнем случае разобьёшь на куски.

Исходный текстовый файл не меняется, создаётся новый файл 2.txt с кодировкой по умолчанию.
1
Вложения
Тип файла: rar WordKiller.rar (15.6 Кб, 6 просмотров)
SoftIce
10017 / 3550 / 907
Регистрация: 27.07.2011
Сообщений: 8,443
Завершенные тесты: 1
31.01.2014, 20:54 #5

Не по теме:

А как это мы в С++ переехали?



Немного оптимизировал код.

Файл 2 млн. строк 124 Мб обработался на моей слабенькой домашней машине за 4 минуты, получилось 370000 строк
0
Миниатюры
Удалить строки, в которых больше 7ми слов  
Вложения
Тип файла: rar WordKiller.rar (15.6 Кб, 11 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 20:54
Привет! Вот еще темы с ответами:

В двумерном массиве удалить все столбцы в которых первый элемент больше последнего - C++
В двумерном массиве удалить все столбцы в которых первый элемент больше последнего.

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

найти количество слов в которых две или больше буквы "с" - C++
И так задача в том что бы найти количество слов в которых две или больше буквы "с".

Удалить из матрицы A все строки, сумма элементов которых четна, а из матрицы B – строки, сумма элементов которых нечетна(функции) - C++
Удалить из матрицы А (7х5) все строки, сумма элементов которых четна, а из матрицы В (6х8) – строки, сумма элементов которых нечетна.


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

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

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