![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 98
|
![]()
Есть несколько (неизвестное количество) списков символов, из этих списков необходимо составить всевозможные строки длинной равной количеству списков.
![]() Алгоритмы, коды, советы, мысли .... хоть что нибудь ![]()
Как вы сформулируете вопрос так вам и ответят
|
![]() |
![]() |
![]() |
#2 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
На сколько я понял:
У тебя даны (допустим) 2 списка: 1) авт 2) ма Составляем строки, длиной с количество списков( т.е. в данном случае 2) ав ат вт ат тв ва та ам аа ма (не знаю насчет повторений). Ну в общем так. Пишешь класс Список. Делаешь массив списков. А далее идет перебор символов.( Это сразу не соображу как лучше сделать,но все решаемо.) В общем начинай писать,выкладывай исходники,а там что-нибудь придумаем.
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну, всё зависит от того, каким образом задаются эти самые списки и, главное, их количество...
Давайте код, как Вы задаёте Ваше "неизвестное количество" списков.. ну и ещё, почему длина конечной строки должна быть равна количеству списков ? Давайте на конкретном примере. Пусть даны три списка: {'1','2'} {'A','B','C', 'D'} {'@','#'} приведите корректные варианты сочетаний... ДОБАВЛЕНО Когда писал, не видел ответ Скарам - поэтому прошу не считать мой пост каким-то образом связанным с его ответом... |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 98
|
![]()
Скарам, не много не верно.
Serge_Bliznykov принцип таков: из списков {'1','2'} {'A','B','C', 'D'} {'@','#'} составляются следующие варианты: 1A@ 1A# 1B@ 1B# 1C@ 1C# 1D@ 1D# 2A@ 2A# 2B@ 2B# 2C@ 2C# 2D@ 2D# т.е. в получаемой строке должно быть по одному символу каждого списка списки жестко закодированы, но в ходе выполнения выбирается их количество и последовательность (что важно)
Как вы сформулируете вопрос так вам и ответят
Последний раз редактировалось xil; 03.01.2011 в 23:20. |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Т.е. символ в строке привязан к номеру списка? и из каждого списка можно брать только один элемент?
Из приведённого мною примера такие сочетания недопустимы? Код:
Цитата:
Проиллюстрируйте свой ответ примером кода... А вообще задача может быть решена "в лоб", например, таким образом - заводите массив указателей. Размер массива равен количеству списков. И дальше туда заносим 1, 1... 1 Это строчка, состоящая из первых элементов списков. Пусть у нас есть размерность каждого списка K1 - сколько элементов в первом списке, K2 - во втором, Kn - в N-м списке.. Далее крутим цикл пока все элементы не будет равны Ki по N - му последнему элементу, пока он не достигнет Kn если достиг - увеличиваем N-1 элемент на один, а последний ставим 1 т.е. обеспечиваем в цикле добавление единицы в последний разряд с переносом числа в следующий разряд для моего пример Выше N = 3 k1 = 2 k2 = 4 k3 = 2 получаем такую последовательность индексов в массиве: 1 1 1 1 1 2 1 2 1 1 2 2 1 3 1 1 3 2 1 4 1 1 4 2 2 1 1 2 1 2 2 2 1 2 2 2 2 3 1 2 3 2 2 4 1 2 4 2 Последний раз редактировалось Serge_Bliznykov; 03.01.2011 в 23:30. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 98
|
![]()
да символ из первого списка должен быть на первом месте, из второго на втором и так далее
Как вы сформулируете вопрос так вам и ответят
|
![]() |
![]() |
![]() |
#7 | |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]() Цитата:
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
|
![]() |
![]() |
![]() |
#8 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
Ну в общем задача показалась интересной,подумал немного. Решил генерить списки символов(если что конструктор можно переделать). Все остальное по заданию выше.
Код:
P.S.: Можно сделать метод,который выводит список. Ну или просто добавить в каждый конструктор после генерации что-то вроде Код:
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() Последний раз редактировалось Скарам; 04.01.2011 в 12:31. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 98
|
![]()
разобрался =)
всем огромное спасибо, особенно Serge_Bliznykov ![]()
Как вы сформулируете вопрос так вам и ответят
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двубуквенные сочетания | 0479 | Общие вопросы по Java, Java SE, Kotlin | 0 | 07.11.2010 19:56 |
Java Двухбуквенные сочетания | 0479 | Помощь студентам | 2 | 31.10.2010 22:59 |
Клавиатурные сочетания | kzld | Microsoft Office Excel | 2 | 13.09.2010 14:51 |
Сочетания. | Пaвeл | Помощь студентам | 2 | 12.03.2009 07:57 |