(ЯЗЫК С++) Задать файл F, компоненты которого являются целыми числами. Переписать компоненты файла F в файл G так, чтобы в файле G сначала шли положительные элементы, а потом отрицательные.
Обратите внимание, что в этой программе предполагается, что файл F содержит целые числа, представленные по одному на строку. Результирующий файл G также будет содержать целые числа, разделенные пробелами. Вы можете настроить форматирование вывода в файл G, чтобы соответствовать вашим потребностям.
#include <fstream>
#include <vector>
#include <algorithm>
int main() {
std::ifstream inputFile("F.txt");
std::ofstream outputFile("G.txt");
if (!inputFile.is_open() || !outputFile.is_open()) {
std::cerr << "Error opening files." << std::endl;
return 1;
}
std::vector<int> positiveNums;
std::vector<int> negativeNums;
int num;
while (inputFile >> num) {
if (num >= 0) {
positiveNums.push_back(num);
} else {
negativeNums.push_back(num);
}
}
std::copy(positiveNums.begin(), positiveNums.end(), std::ostream_iterator<int>(outputFile, " "));
std::copy(negativeNums.begin(), negativeNums.end(), std::ostream_iterator<int>(outputFile, " "));
inputFile.close();
outputFile.close();
return 0;
}
Обратите внимание, что в этой программе предполагается, что файл F содержит целые числа, представленные по одному на строку. Результирующий файл G также будет содержать целые числа, разделенные пробелами. Вы можете настроить форматирование вывода в файл G, чтобы соответствовать вашим потребностям.