Вопрос задан 06.07.2023 в 00:21. Предмет Информатика. Спрашивает Колачева Анна.

Помогите пожалуйста. Язык С++. Задан текстовый файл. Сформировать файл f2, в котором будет

находиться текст из первого файла, удалив из него все знаки «+», непосредственно за которыми идет цифра.
0 0
Перейти к ответам

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

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

#include<iostream>

#include<string>

#include<fstream>

using namespace std;

bool isDigit(char a)

{

   if (a >= '0' && a <= '9')

       return true;

   else

       return false;

}

int main() {

string line;

ifstream out("f1.txt");

ofstream output("f2.txt", ios::app);

while(getline(out, line)) {

for (int i=0; i<line.length()-1; i++)

{

   if(line[i] == '+' && isDigit(line[i+1]))

       line.erase(i,1);

}

   output<<line<<endl;

}

out.close();

output.close();

}


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

Конечно, я могу помочь вам с этой задачей. Вот пример кода на языке C++, который считывает текстовый файл, удаляет знаки "+" перед цифрами и записывает измененный текст в другой файл:

cpp
#include <iostream> #include <fstream> #include <string> int main() { std::ifstream inputFile("input.txt"); std::ofstream outputFile("output.txt"); if (!inputFile) { std::cout << "Не удалось открыть входной файл." << std::endl; return 1; } if (!outputFile) { std::cout << "Не удалось создать выходной файл." << std::endl; return 1; } std::string line; while (std::getline(inputFile, line)) { std::string modifiedLine; for (size_t i = 0; i < line.length(); ++i) { if (line[i] == '+' && i + 1 < line.length() && isdigit(line[i + 1])) { continue; // Пропускаем "+" перед цифрой } modifiedLine += line[i]; } outputFile << modifiedLine << std::endl; } std::cout << "Файл успешно обработан." << std::endl; inputFile.close(); outputFile.close(); return 0; }

В этом примере предполагается, что исходный текстовый файл называется "input.txt", и после выполнения программы будет создан файл "output.txt" с измененным текстом, в котором удалены знаки "+" перед цифрами. Вы можете изменить имена файлов, если это необходимо.

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

0 0

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

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

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

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