Ой, я неправильно прочитал условие вашей задачи. :) Значит и мной предложенный код работать не будет. Но его можно немножко модифицировать:
bool EmitPlus=false, RepeatLine=false;
char Buffer[200];
while(!Input.eof())
{
if(RepeatLine) Output << Buffer;
if(EmitPlus) Output << '+';
EmitPlus=true;
Input.getline(Buffer, 200);
if(RepeatLine) Output << Buffer;
RepeatLine=true;
}
Как видите, я добавил ещё один флажок, пару лишних проверок и лишний повторный вывод строки текста.
Получилось ужасно. Но можно написать практически дословный перевод условия:
char Buffer[200];
Input.getline(Buffer, 200);
while(!Input.eof())
{
Output << Buffer << '+';
Input.getline(Buffer, 200);
Output << Buffer;
}
Видите, просто читаем каждую следующую строку и выводим её плюсиком соединенной с предыдущей.