#1 18.09.11 15:34
академическая задача
вот задача.
Программа ищет в тексте Си-программы самый внутренний блок (для простоты начало и конец блока располагаются в отдельных строчках), присваивает ему номер и " выкусывает" основного текста, заменяя его ссылкой на этот номер. Затем по заданному номеру блока производится его вывод на экран, в тексте блока при этом должна присутствовать строка вида " #БЛОК nnn" при наличии вложенного блока. (Процедуру " выкусывания" блоков рекомендуется реализовать при помощи " выкусывания" указателей на строки вложенного блока в файле и замене их на отрицательное число -n, где n-номер, присвоенный блоку).
кто нить может объяснить что нужно сделать? я единственное что понял что нужно найти внутренний блок, заменить его ссылкой какой-то и все
Offline
#2 18.09.11 16:03
Re: академическая задача
также нифига понять не могу -
Flinn написал(а):
затем по заданному номеру блока производится его вывод на экран, в тексте блока при этом должна присутствовать строка вида " #БЛОК nnn" при наличии вложенного блока.
Это как у Булгакова:
- Мы, управление дома, - с ненавистью заговорил Швондер, - пришли к
вам после общего собрания жильцов нашего дома, на котором стоял вопрос об
уплотнении квартир дома...
- Кто на ком стоял? - крикнул Филипп Филиппович, - потрудитесь
излагать ваши мысли яснее.
Offline
#3 18.09.11 17:47
Re: академическая задача
такая мысля пришла в голову, если имеем например такую прогу:
int _tmain(int argc, _TCHAR* argv[])
{
for (int i = 0; i < 8; ++i)
{
for (int k = 0; k < 8; ++k)
{
};
};
for (int i = 0; i < 8; ++i)
{
};
}
то преобразование будет происходить следующим образом:
int _tmain(int argc, _TCHAR* argv[])
{
for (int i = 0; i < 8; ++i)
{
for (int k = 0; k < 8; ++k)
#1
};
for (int i = 0; i < 8; ++i)
#2
}
потом
int _tmain(int argc, _TCHAR* argv[])
{
#3 (#1)
for (int i = 0; i < 8; ++i)
#2
}
и потом
#4 (#3 (#1), #2)
циферки это типа номера блоков
так поди?
Offline

