Имя: Пароль:
1C
1С v8
Иерархия
,
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
ИМХО, проще сначало в дерево собрать, а уж потом обходить строки верхнего родителя и собирать из его подчиненных строк одну итоговую строку с символами.ПС