Другие языки программирования и технологии

Программирование на C++.Работа с файлами.

AS
Andrey She
233
#include <iostream>
#include <fstream>
#include <set>
using namespace std;
bool work(const string& dest, const string& src1, const string& src2) {
ifstream first(src1);
if (!first.is_open()) return false;
ifstream second(src2);
if (!second.is_open()) {
first.close();
return false;
}
ofstream third(dest);
if (!third.is_open()) {
first.close();
second.close();
return false;
}
multiset<int> box;
int tmp;
while (first >> tmp) box.insert(tmp);
while (second >> tmp) box.insert(tmp);
for (const auto value : box) third << value << ' ';
first.close();
second.close();
third.close();
return true;
}
int main() {
const string f("f");
const string g("g");
const string h("h");
if (!work(h, f, g)) {
cout << "Error!\n";
system("pause");
}
}
НС
Николай С.
72 673
Лучший ответ
double f,g;
ofstream fout;
ifstream fin;
if(fin.open("f.format"))
{
fin >> f;
fin.close();
if(fin.open("g.format"))
{
fin >> g;
}
else
{
return 1;
}
}
else
{
return 1;
}

if(fout.open(h.format))
{
if(f < g) fin >> f >> g;
else fin >> g >> f;
fin.close();
}
else{//Записьпошлапопизде}
#include
#include
#include
#include
#include

int main()
{
std::ifstream f("f.txt"); //открываем файл f.txt на чтение
if(f)
{
std::ifstream g("g.txt");//открываем файл f.txt на чтение
if(g)
{
//читаем файл f.txt в вектор fVec
std::vector fVec = {std::istream_iterator(f), std::istream_iterator()};

//читаем файл g.txt в вектор gVec
std::vector gVec = {std::istream_iterator(g), std::istream_iterator()};

//создаем вектор hVec размером равным сумме размеров двух считанных векторов (для того чтобы в него сложить результат)
std::vector hVec(fVec.size() + gVec.size());

//сливаем вектора fVec и gVec в результирующий вектор hVec, с учетом упорядоченности
//описание функции merge здесь : http://www.cplusplus.com/reference/algorithm/merge/
std::merge (
fVec.begin(),fVec.end(),
gVec.begin(),gVec.end(),
hVec.begin());

std::ofstream h("h.txt"); //открываем файл h.txt на запись

//записываем результат в файл
for(const auto& item : hVec)
{
h << item << ' ';
}
h << std::endl;
}
}

return 0;
}