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

Нужна помощь с кодом . срочно!
Написать на C++ вместе с результатом .
Из введенных с клавиатуры действительных чисел создать файл последовательного доступа. Записать в один файл все положительные числа исходного файла, а во второй файл – все отрицательные. Вывести на печать вновь созданные файлы.

Ответы

Автор ответа: TemaZpro
1

Вы вводите числа с клавиатуры, чтобы завершить их вводить, нужно отправить число 0. Затем создаются файлы input.txt, positive.txt и negative.txt. В input.txt ваши введенные числа. В positive.txt положительные, в negative.txt отрицательные. Затем программа читает получившиеся файлы и выводит в консоль, что в них.

Код на языке C++:

#include <iostream>

#include <fstream>

#include <vector>

int main() {

   std::vector<double> numbers;

   double number;

   std::cout << "Введите числа (для завершения введите 0):" << std::endl;

   while (true) {

       std::cin >> number;

       if (number == 0)

           break;

       numbers.push_back(number);

   }

   std::ofstream inputFile("input.txt");

   if (!inputFile) {

       std::cerr << "Ошибка создания файла input.txt." << std::endl;

       return 1;

   }

   for (const auto& num : numbers) {

       inputFile << num << std::endl;

   }

   inputFile.close();

   std::ofstream positiveFile("positive.txt");

   std::ofstream negativeFile("negative.txt");

   if (!positiveFile || !negativeFile) {

       std::cerr << "Ошибка создания файлов для записи." << std::endl;

       return 1;

   }

   for (const auto& num : numbers) {

       if (num > 0)

           positiveFile << num << std::endl;

       else if (num < 0)

           negativeFile << num << std::endl;

   }

   positiveFile.close();

   negativeFile.close();

   std::cout << "Содержимое файла input.txt:" << std::endl;

   std::ifstream input("input.txt");

   std::cout << input.rdbuf() << std::endl;

   input.close();

   std::cout << "Содержимое файла positive.txt:" << std::endl;

   std::ifstream positiveInput("positive.txt");

   std::cout << positiveInput.rdbuf() << std::endl;

   positiveInput.close();

   std::cout << "Содержимое файла negative.txt:" << std::endl;

   std::ifstream negativeInput("negative.txt");

   std::cout << negativeInput.rdbuf() << std::endl;

   negativeInput.close();

   return 0;

}

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