|
Иерархия |
☑ |
0
fierylions
21.03.13
✎
11:39
|
Есть ТЗ в ней данные:
Описание (<колонка):
Машины
-Бмв
--Колеса
---Зимние
--Двери
Машины
-Лада
--Колеса
---Зимние
--Двери
---Красные
По признаку "-" нужно выстроить иерархию точнее записать в строку.
Должно получится:
Строка1:
Машины
-БМВ
-Колеса
---Зимние
Строка2:
Машины
-БМВ
--Двери
Строка3:
Машины
-Лада
-Колеса
---Зимние
Строка4:
Машины
-Лада
--Двери
---Красные
Иерархия соблюдается пока "-" увеличиваются как только.
|
|
1
Defender aka LINN
21.03.13
✎
11:43
|
(0) 1. Откуда берется ТЗ?
2. Почему у тебя в "строке 1" 4 строки?
В общем, ждем русифицированной версии задачи.
|
|
2
Лефмихалыч
21.03.13
✎
11:44
|
создавай дерево, в цикле по строкам ТЗ заполняй дерево. В чем вопрос?
|
|
3
samozvanec
21.03.13
✎
11:50
|
(2) хвастается
|
|
4
fierylions
21.03.13
✎
11:57
|
вопрос в логике как это сделать.
Смысл такой пока черточки увеличиваются это все в одну строку пишется. Как только черточек стало меньше чем в предыдущей строке ТЗ сразу записывается новая строки начиная от черточки "-" (родителей) до нашей черты.
Тогда и получается в примере
Машина
-Бмв
--Колеса
---Зимние
--Двери
Тут идет по по "-"до максимального увеличения находим "---"и видем что следующая строка идет на уменьшение значит ее нам не надо.
Получается
Строка1=
Машина+Символы.ПС
-Бмв+Символы.ПС
--Колеса+Символы.ПС
---Зимние
идем дальше по тз до максимального увеличения "-" видем что максимум тут "--" это двери и записываем всех ее родителей
Строка2:
Машина+Символы.ПС
-Бмв+Символы.ПС
--Двери
и так в тз много раз в цикле надо обходить.
Вопрос как это сделать ? не могу привести к виду который я показал.
|
|
5
salvator
21.03.13
✎
12:01
|
Автор, тебе запятых отсыпать?
|
|
6
Defender aka LINN
21.03.13
✎
12:03
|
(4) Ну, иногда в нашей работе приходится писать код...
|
|
7
fierylions
21.03.13
✎
12:22
|
идеи есть ?
|
|
8
salvator
21.03.13
✎
12:24
|
(7) см (2)
|
|
9
fierylions
21.03.13
✎
12:36
|
salvator (8) см (4)
|
|
10
MSII
21.03.13
✎
12:45
|
(9) Да просто же. Количество "-" означает уровень. Пока уровень растет, накапливаешь родителей, как уровень уменьшился, пишешь строку, убираешь младших родителей в количестве, на которое уменьшился уровень и продолжаешь.
|
|
11
salvator
21.03.13
✎
13:09
|
ИМХО, проще сначало в дерево собрать, а уж потом обходить строки верхнего родителя и собирать из его подчиненных строк одну итоговую строку с символами.ПС
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший