Предмет: Информатика, автор: misterrar22

Надо на С++
Задан текстовый файл. Сформировать файл f2, в котором будет нахо-
диться текст из первого файла, исключая строки, в которых содержится больше
трех букв s и четырех букв m.

Ответы

Автор ответа: extenup21
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;

}

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