Что я делаю не так?
Не читаете документацию к используемым абстракциям.
У вас в цикле, на каждой итерации вот здесь затирается и заново открывается на запись файл txt3.txt
if (sim1==sim2) {
std::ofstream txt3("txt3.txt");
std::cout<<sim1;
txt3.close();}
}
Вам нужно один раз открыть его там же где открываете файлы на чтение. По умолчанию при создании std::ofstream, стирается все что есть в файле и новые данные заново записываются.