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

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

#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;
}



Для решения вашей задачи можно использовать язык программирования C++. Ниже приведен пример программы, которая читает текстовый файл, фильтрует строки по вашему условию (не более трех букв 's' и не более четырех букв 'm') и записывает отфильтрованный текст в новый файл.
```cpp
#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" с отфильтрованным текстом.


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







Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili