Вопрос задан 19.06.2023 в 03:46. Предмет Информатика. Спрашивает Крюков Артём.

Надо на С++ Задан текстовый файл. Сформировать файл f2, в котором будет нахо- диться текст из

первого файла, исключая строки, в которых содержится больше трех букв s и четырех букв m.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ахиярова Аделина.

#include <QFile>

#include <QString>

#include <QStringList>

int main()

{

   QFile file("f1.txt");

   if (file.open(QFile::ReadOnly))

   {

       QString bufferf2;

       QString bufferf1 = file.readAll();

       file.close();

       QStringList rows = bufferf1.split("\n");

       for (const QString &row : qAsConst(rows))

       {

           int scnt = 0;

           int mcnt = 0;

           for (int i = 0; i < row.size(); i++)

           {

               if (row[i] == 's')

               {

                   scnt++;

               }

               else

               if (row[i] == 'm')

               {

                   mcnt++;

               }

           }

           if (scnt < 3 && mcnt < 4)

           {

               bufferf2 += row;

           }

       }

       QFile file2("f2.txt");

       if (file2.open(QFile::WriteOnly))

       {

           file.write(bufferf2.toUtf8());

           file.close();

       }

   }

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения вашей задачи можно использовать язык программирования C++. Ниже приведен пример программы, которая читает текстовый файл, фильтрует строки по вашему условию (не более трех букв 's' и не более четырех букв 'm') и записывает отфильтрованный текст в новый файл.

```cpp #include #include #include

int main() { // Открываем файл для чтения std::ifstream inputFile("input.txt"); // Открываем файл для записи std::ofstream outputFile("output.txt");

// Проверяем, успешно ли открыли файлы if (!inputFile.is_open() || !outputFile.is_open()) { std::cerr << "Unable to open files." << std::endl; return 1; // Возвращаем код ошибки }

// Читаем файл построчно std::string line; while (std::getline(inputFile, line)) { // Проверяем условие исключения строки size_t count_s = std::count(line.begin(), line.end(), 's'); size_t count_m = std::count(line.begin(), line.end(), 'm'); if (count_s <= 3 && count_m <= 4) { // Записываем отфильтрованную строку в новый файл outputFile << line << std::endl; } }

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

std::cout << "File filtering completed successfully." << std::endl;

return 0; // Возвращаем успешный код завершения программы } ```

Прежде чем использовать этот код, убедитесь, что у вас есть текстовый файл с именем "input.txt". Программа создаст новый файл "output.txt" с отфильтрованным текстом. Вам также нужно скомпилировать этот код с использованием компилятора C++, например, с помощью g++, если вы используете Linux:

```bash g++ your_program_name.cpp -o your_program_name ```

После компиляции вы можете запустить программу:

```bash ./your_program_name ```

Программа прочитает "input.txt", выполнит фильтрацию строк и создаст "output.txt" с отфильтрованным текстом.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос