Я должен написать программу, которая объединяет числа в двух файлах и записывает все числа в третий файл. Программа принимает входные данные из двух разных файлов и записывает свои выходные данные в третий файл. Каждый входной файл содержит список чисел типа int в отсортированном порядке от наименьшего к наибольшему. После запуска программы выходной файл будет содержать все числа из двух входных файлов в одном более длинном списке в отсортированном порядке от наименьшего к наибольшему. Я не уверен на 100%, что моя логика верна. Спасибо за помощь.
inputFile1:
1 2 3 4 5 6 7 8 9 10
inputFile2:
11 12 13 14 15 16 17 18 19 20
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
int main()
{
int num1, num2;
ifstream inputFile;
ifstream inputFile2;
inputFile.open ("input1.txt");
inputFile2.open("input2.txt");
ofstream outputFile;
outputFile.open("output.txt");
inputFile >> num1;
inputFile2 >> num2;
while(inputFile.eof() && inputFile2.eof())
{
if (num1 < num2)
{
outputFile << num1;
inputFile >> num1;
}
else
{
outputFile << num2;
inputFile2 >> num2;
}
}
inputFile.close();
inputFile2.close();
outputFile.close();
return 0;
}
inputFile2.open();
? Также не используйтеwhile (!eof)
, используйтеwhile (in >> var)
. - person chris   schedule 28.10.2012in
будет входным потоком, который в вашем случае может бытьinputFile
илиinputFile2
. - person chris   schedule 28.10.2012while (!inputFile.eof())
? - person john   schedule 28.10.2012eof()
может определить, находитесь ли вы в конце файла. но это совсем не то, что он делает. Он сообщает вам, не удалось ли последнее чтение из-за конца файла. Что совсем другое. - person john   schedule 28.10.2012