Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 24.06.2018
Сообщений: 6

В новый текстовый файл записать все строки исходного, в которых больше трех слов

25.11.2018, 21:56. Показов 2559. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текстовый файл, состоящий из некоторого количества строк. Написать функцию для создания нового файла. В файл нужно записать все строки в которых больше трех слов.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2018, 21:56
Ответы с готовыми решениями:

Записать в новый файл первые N слов исходного файла
Открыть файл, имя которого задается с клавиатуры. Записать в другой файл первые n слов этого файла, где n задается с клавиатуры (проверьте,...

Сформировать файл, содержащий позиции чисел исходного файла, значения которых больше трех
Написать программу, которая по данному файла с целыми числами формирует два новых. Один из них содержит позиции всех чисел, больших 3,...

Создать новый текстовый файл, содержащий номера строк исходного, в которых содержатся удвоенные символы
Задано текстовый файл А. Создайте новый файл, содержащий номера строк, содержащих удвоенные символы. Помогите написать код.

5
 Аватар для igorrr37
2874 / 2021 / 991
Регистрация: 21.12.2010
Сообщений: 3,760
Записей в блоге: 9
26.11.2018, 14:26
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
25
26
27
28
29
30
31
#include <iostream>
#include <regex>
#include <string>
#include <iterator>
#include <fstream>
#include <clocale>
 
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    std::ifstream ifs{"in.txt"};
    if (ifs.is_open())
    {
        std::string str, sr{"\\d[:alpha:]а-яА-ЯёЁ"};
        std::regex rgx{"(?:^|[^" + sr + "])[" + sr + "]+(?=$|[^" + sr + "])"};
        while (std::getline(ifs, str))
        {
            if (std::distance(std::sregex_iterator{ str.begin(), str.end(), rgx }, {}) >= 4)
            {
                std::cout << str << std::endl;
            }
        }
 
        ifs.close();
    }
    else
    {
        std::cerr << "Unable to open file\n";
    }
}
0
0 / 0 / 0
Регистрация: 24.06.2018
Сообщений: 6
26.11.2018, 18:27  [ТС]
А вот например для задания мне нужно использовать Билдер с Console Wizard. У меня есть примерно такая же программа. Она считывала из файла первые три предложения и записывала их в обратном порядке в другой файл. И там используются #include <fstream>
#include <iostream>
0
0 / 0 / 0
Регистрация: 24.06.2018
Сообщений: 6
28.11.2018, 02:33  [ТС]
Пробовал менять программу всё равно не выходит.
0
 Аватар для Nishen
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
28.11.2018, 02:46
Лучший ответ Сообщение было отмечено Sambeldor как решение

Решение

Предполагается, что слова в строке разделены пробелами.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
 
int main() {
 
    std::ifstream iFile("text.txt");
    std::ofstream oFile("result.txt");
 
    if (!iFile) {
 
        std::cerr << "Cannot to open file text.txt\n";
 
        system("PAUSE");
        return 1;
 
    }
 
    if (!oFile) {
 
        std::cerr << "Cannot to open file result.txt\n";
 
        system("PAUSE");
        return 1;
 
    }
 
    std::string line;
 
    while (std::getline(iFile, line, '\n')) {
 
        std::istringstream iss(line);
        std::string word;
        std::size_t count = 0;
 
        while (iss >> word) ++count;
 
        if (count > 3) oFile << line << '\n';
 
    }
 
    system("PAUSE");
    return 0;
 
}
0
0 / 0 / 0
Регистрация: 24.06.2018
Сообщений: 6
28.11.2018, 03:47  [ТС]
Огромное спасибо, всё работает теперь буду разбираться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2018, 03:47
Помогаю со студенческими работами здесь

Записать в новый файл все неповторяющиеся символы исходного файла
Здравствуйте, помогите, пожалуйста, решить задачу: Разработать программу, которая читает файл, содержащий символы латинского алфавита...

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

Записать в новый файл только те строки исходного, которые начинаются с заданной буквы
Дан файл. Записать в другой файл только те строки, которые начинаются с заданной буквы. в Си++

Создать новый файл, каждая строка которого получается из строки исходного файла обратной перестановкой слов
Всем привет!Помогите пожалуйста,на с++ с файлами еще не работал,вот и не понимаю,хоть убейте:D Дан текстовый файл.Создать новый...

Скопировать в новый текстовый файл все символы исходного, заменив все нули на единицы, а единицы на нули
Дан текстовый файл f. Переписать в файл g все компоненты файла f с заменой символа 0 на символ 1 и наоборот


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru