" писал(а):Проблема не в строке(file_in >> start_pop >> term; ), а в том - где стоит эта строка.
В твоем случае: после чтения последней строки (с помощью file_in >> start_pop >> term; ) файла data.dat поток file_in уже указывает на конец файла, поэтому условие цикла срабатывает и в итоге не происходит повторного захода в цикл while, следовательно не происходит вычислений, и следовательно последняя строка не допишется в файл result.dat.
Молодец, заметил. Я пропустил, наверное потому, что сделать такой глюк - это надо ещё умудриться.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
" писал(а):хотя уверен есть еще множество способов решения
Наприемер так:
Код: Выделить всё
int i;
int start_pop, term, end_pop;
ifstream file_in;ofstream file_out;
file_in.open("data.dat");
file_out.open("result.dat");
while(!file_in.eof())
{
file_in >> start_pop >> term;
for(i = 1; i <= term; i++)
{
//вычисления
}
file_out << start_pop << " " << term << " " << end_pop << endl;
}
" писал(а):может, даже более правильных чем этот.
Мой вариант возможно хуже, но точно не лучше.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".