0xd34df00d 16.01.2012 13:17 Azoth_primary

Делать, пока не кончатся файлы или пока количество считанных строк не превысит lim. Если дошли до конца файла, а число строк не превысило lim, то закрыть файл и открывать следующие файлы по джидам из списка до тех пор, пока какой-нибудь файл не откроется успешно, и продолжить считывать в нем.

Вот тут бы goto пригодилось :( Либо няшная рекурсия и монады-трихомонады.

Recommended by:

@pooq: моча съела говно

1. magog 16.01.2012 13:20 Azoth@Work

ну так заюзай гото

2. 0xd34df00dmagog /1 16.01.2012 13:22 Azoth_primary

Я без него написал уже, что-то вроде http://paste.pocoo.org/show/535615/ , правда, пока даже собирать не пробовал.

3. gelraen 16.01.2012 13:32

while (lines_read <= lim)
{
while (fname = GetNextFile())
{
if (f = file_open(f))
break;
}
while (!eof(f) && lines_read <= lim)
{
read_line();
lines_read++;
}
}

4. gelraen 16.01.2012 13:33

зачем тут goto — непонятно

5. 0xd34df00dgelraen /3 16.01.2012 13:34 Azoth_primary

Там еще в зависимости от того, было ли считано что, или тупо файлы кончились, нужно всякое делать. Энивей, примерно такие пиздецомы и получаются.

6. 0xd34df00dgelraen /3 16.01.2012 13:34 Azoth_primary

Ну еще и read_line () не факт, что хорошо обработается.

7. werdn 16.01.2012 13:44

Если замаячил вдали goto — значит не туда забрели

8. magogwerdn /7 16.01.2012 13:45 Azoth@Work

хуйня. Любой инструмент надо использовать с умом. Если мозгов нету, то нечего на готу пенять

9. werdnmagog /8 16.01.2012 14:07

В описанной задаче гото не нужен ни разу.

10. 0xd34df00dwerdn /9 16.01.2012 14:09 Azoth_primary

В /2 ссылка на пасту с решением. ИМХО с гоуту могло бы быть полущ.

11. werdn0xd34df00d /10 16.01.2012 14:09 Work

я потом уже увидел

Do you really want to delete ?