Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
С помощью рекурсии генерировать все возможные словосочетания из столбцов
 
Привет всем.
Ребята, помогите пожалуйста разобраться с проблемой.
Есть следующая задача.

Мне нужно объединить значения из всех столбцов и строк.
Вначале мы берем первое значение первого столбца и присоединяем к нему первое значение из второго столбца. Затем к получившемуся результату присоединяем по очереди все значения третьего столбца, Затем вновь берем первое значение первого столбца, но присоединяем к нему уже второе значение второго столбца. И вновь к получившийся результату комбинируем со всеми строками 3-го столбца и так далее.

В примере наглядно видно что должно получиться.

А собственно проблема состоит в том, что количество колонок - заранее неизвестно.  В примере - 3, но может быть и 5 и 10. Количество строк тоже везде разное.
Т.е. вложенными циклами решать задачу явно плохо.

Понимаю, что это нужно решать рекурсивной функцией. Но никак не могу ее написать.  Все попытки выдают в результате треш или как водится переполняют стек :)

Помогите кто чем может друзья, заранее большое спасибо.
 
Цитата
maximusu написал:
Все попытки
где хотя бы одна?
 
Плохой Вы рекламщик, ой плохой! Не знаете коронного выражения контекстщиков  перемножить столбцы
По ссылке есть еще ссылка на тему "Генерация всех возможных словосочетаний из столбцов"
 
Цитата
БМВ написал: где хотя бы одна?
Дак стыдно :)

Вот здесь пара вариантов. Скорее похоже на поток сознания.
Но макет для написания функции годный.
 
Цитата
vikttur написал: Не знаете коронного выражения контекстщиков   перемножить столбцы
Да, спасибо вижу. Но здесь я так понял 2-х столбцов перемножение. А когда их 5 и вообще неведомо сколько?

А Киберфорум что-то сегодня лежит
 
Я Вам показал, по какому словосочетанию искать.
 
Да, я это понял, спасибо. Беглый поиск показал, что не я один хреновый рекламщик :)
Народ в основном цифры перемножает. Не нашел пока ничего путного.

С кодом беда?
 
Вы за 10 минут успели много пересмотреть? Рекламщик пошел не только плохой, но и ленивый )
Название темы из Кибера забить в поиск Google. 10 страниц!
 
maximusu, На 5 уровнях не более 5 рекурсивных вызовов от куда переполнение если все правильно
Алгоритм простой
список уровня передали в подпрограмму вместе с предыдущим набором, проверили есть ли уровни ниже, если есть то список нижнего передали в подпрограмму для каждого из списка, если нет. то перебрали список и вышли из подпрограммы.
 
Цитата
vikttur написал:
Рекламщик пошел не только плохой, но и ленивый )
Ну ладно, ладно :) Ленивый рекламщик не стал бы писать сам рекурсивный код, а раскопал бы готовый вариант:)
Это называется другим словом,  ;)

Уже изучаю, ребята как-то без рекурсии обошлись. Спасибо, старина.
Страницы: 1
Читают тему (гостей: 2)
Наверх