• Предмет: Информатика
  • Автор: s1700737
  • Вопрос задан 3 месяца назад

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


ВикаБач: Решить нельзя, не указан символ, служащий разделителем слов, не определено, что такое "слово" и "буква", не определена система кодировки.
archery: а если взять по дефолту или самому простому варианту? слова разделяются пробелами, буквы - любые символы кроме пробелов, кодировка дефолтная для системы и вообще лучше писать латинскими буквами

Ответы

Ответ дал: spiranskii1
0

#include <iostream>

#include <fstream>

#include <string>

#include <sstream>

bool isWordValid(const std::string& word) {

   return word.length() >= 7;

}

int main() {

   std::ifstream inputFile("input.txt"); // Открываем исходный файл для чтения

   std::ofstream outputFile("output.txt"); // Создаем новый файл для записи

   if (inputFile.is_open() && outputFile.is_open()) { // Проверяем, успешно ли открыли файлы

       std::string line;

       std::string word;

       while (std::getline(inputFile, line)) { // Построчно считываем строки из исходного файла

           std::stringstream ss(line);

           while (ss >> word) { // Разбиваем строку на отдельные слова

               if (isWordValid(word)) { // Проверяем, соответствует ли слово заданному условию

                   outputFile << word << " "; // Записываем в новый файл только подходящие слова

               }

           }

       }

       std::cout << "Файл успешно переписан." << std::endl;

   } else {

       std::cout << "Ошибка открытия файлов." << std::endl;

   }

   inputFile.close(); // Закрываем исходный файл

   outputFile.close(); // Закрываем новый файл

   return 0;

}

Вас заинтересует