Короче, я ищу способ в Java/C# для генерации всех возможных вариаций на основе разных наборов, содержащих разные значения. Например: позволяет сказать, что мы установили имена:Алгоритм для генерации вариаций на основе разных наборов, содержащих разные значения.
-Max, Jack, Roger
Второго набор глаголы
-Loves, hates, knows
И третий набор языков программирования так же, как пример, но мы можем иметь 10 комплектов
-Java, C#, Python, Visual Basic, C++
Я хочу, чтобы создать все возможные варианты, содержащие ВСЕ атрибуты и имеющие все значения, например, вывод должен быть:
Max loves Java
Jack loves Java
Roger loves Java
Max hates Java
Jack hates Java
Roger hates Java
Max knows Java
Jack knows Java
Roger knows Java
Max loves C#
Jack loves C#
Roger loves C#
and so on... this will generate 45 variations if I am not wrong at the end
Может ли кто-нибудь помочь? Я считаю, что подобный простой пример будет, если вы хотите генерировать вариации продуктов в магазине одежды, которые имеют разные размеры, цвета и материалы, например, и вы хотите все варианты.
http://blogs.msdn.com/b/ericlippert/archive/2010/06/28/computing-a-cartesian-product-with-linq.aspx и ссылки сл. – AakashM
Много на SO, когда вы ищете Декартовы продукт; выберите свой любимый обман :) – AakashM
Просто пройдите через каждый набор и добавьте строки? например, «для i в (Макс, Джек, Роджер) для j in (любит, ненавидит) для k in (Java, C#) печатать i + j + k;'? –