| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Создание матрицы вариантов |
| Автор: FelikZ 21.6.2012, 12:41 |
| Добрый день. Нужен алгоритм для реализации простой программы которая бы генерировала матрицу вариантов из двух входных векторов. Элементы векторов могут быть любыми сущностями, не только числовыми. Пример: на входе: [a b c d] [0 1 2 3] на выходе: a b c d a b c 3 a b 2 3 a 1 2 3 0 1 2 3 0 1 2 d 0 1 c d 0 b c d 0 b c 3 0 b 2 3 0 2 c 3 ... и т.д. Позиции элементов не должны меняться местами (не должно быть перестановок), а только перебор из элементов заданных в векторах на заданных позициях. Спасибо! P.S. Вариант с произвольным количеством векторов приветствуется в двойне! |
| Автор: Akina 21.6.2012, 14:41 |
| Для описанного варианта - берём тупо и организовываем цикл. Переменная цикла - 4 бита (ну т.к. элементов по 4), остальные не используем. На каждом витке для нулевого бита берём элемент из первого вектора, для единичного бита - из второго. Добавлено через 47 секунд Соответственно будет не двоичная, а N-ричная маска. |
| Автор: FelikZ 21.6.2012, 14:58 |
| Спасибо, отличное решение! Правда про N-ричную маску мне стоит почитать |
| Автор: Akina 21.6.2012, 16:37 |
Про N-ричные числа, вероятно... а заодно и про числа с изменяемой -ричностью разрядов. |