Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.06.2008, 10:03   #11
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Сообщение от dsapa Посмотреть сообщение
а что там было со СЛЭНом? Я не в курсе. Я тут недавно.
Господа. ИМХО это уже вопросы выходящие за пределы темы.
Может обсудите это в личке?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 25.06.2008, 13:28   #12
Serzov
 
Регистрация: 11.06.2008
Сообщений: 9
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Насколько я понял задачу необходимо перебрать все сочетания из n =10 чисел по k=6 шт.
Количество сочетаний = n!/k!(n-k)!= 10!/6!4!=10*9*8*7/(2*3*4)= 10*3*7=210 штук.
сочетания - на листе. макрос - в модуле.
Спасибо! Формулу я знаю. Но она только показывает количество вариантов. А надо сделать перебор: вывести все возможные варианты.
Serzov вне форума
Старый 01.07.2008, 22:48   #13
Serzov
 
Регистрация: 11.06.2008
Сообщений: 9
По умолчанию

извиняюсь, не увидел сразу вложенный файл. Спасибо за помощь IgorGO!
Serzov вне форума
Старый 02.07.2008, 15:32   #14
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Добавил решение для произвольного массива.
массив заполняется в процедуре Sub c10x6(). Она же в 3-ю колонку выкладывает результаты перебора возможных сочетаний, разделяя значения пробелами.
Вложения
Тип файла: rar Сочетания.rar (97.9 Кб, 45 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 04.07.2008, 00:11   #15
Serzov
 
Регистрация: 11.06.2008
Сообщений: 9
По умолчанию

IgorGO, Вы не могли бы добавить пояснения к строкам решния произвольного массива. Не могу разобраться. Заранее очень благодарен.
Serzov вне форума
Старый 04.07.2008, 12:18   #16
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Идея такова:
в массииве а(6) я перебираю все возможные комбинации чисел от 1 до 10, начиная с первой комбинации 1 2 3 4 5 6, увеличивая последнее число, когда оно достигает 10, увеличиваю число в предыдушем разряде.
получаем
1 2 3 4 5 6
1 2 3 4 5 7
...
1 2 3 4 5 10
1 2 3 4 6 7
...
5 6 7 8 9 10
таким образом в массиве "а" собираем какие элементы массива "С" будут отображены.
выход из процедуры, когда сумма значений элементов массива а достигла 45, смотрите последнюю комбинацию.

С точки зрения работоспособности, алгоритм действующий, с точки зрения оптимальности кода - полное уродство, несмотря на присутствие рекурсии, как признака высокого класса алгоритма. Не пишите такие алгоритмы.
Пока писал короткий комментарий. Придумал упрощение этого алгоритма. И принципиально другой алгоритм формирования комбинаций, выложу в следующем посте.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 04.07.2008, 23:44   #17
Serzov
 
Регистрация: 11.06.2008
Сообщений: 9
По умолчанию

Можно в произвольный массив добавить условие, если в ответе есть 5 четных или 5 нечетных чисел, то он на экран не выводится.
Спасибо.
Serzov вне форума
Старый 05.07.2008, 00:10   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Добавил две новых реализации перебора вариантов.
В последнем варианте c10x6_2 (самом медленном) достаточно поправить код в функции проверки и можно исключить все парные, или все непарнные. Надеюсь, это не составит труда. Последняя реализация очень элементарна с точки зрения алгоритма работы и понимания логики, но крайне неэффективна по производительности.
Все, я на отдых. Две недели на море, за комп не сажусь.
Вложения
Тип файла: rar Сочетания.rar (103.9 Кб, 34 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 05.07.2008, 07:55   #19
dsapa
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 82
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Все, я на отдых. Две недели на море, за комп не сажусь.
А морской прибой нашептывает: ексеееельььь, ексеееелььь ...
И так две недели. А что поделать? - судьба программера.
dsapa вне форума
Старый 10.07.2008, 14:27   #20
Serzov
 
Регистрация: 11.06.2008
Сообщений: 9
По умолчанию

С четными и нечетными разобрался кое-как.

ещё одна маленькая просьба помочь с заданием, даны 15 наборов с цифрами по 6, и один набор с 8 цифрами. Если в варианте из 6 цифр присутствуют больше 4 цифр из варианта с 8 цифрами, то этот вариант удаляется. В отдельную ячейку, надо вывести сколько вариантов было удалено. Заранее спасибо.
Варианты с 6 цифрами:
1 15 32 35 36 39
1 8 15 38 41 45
4 7 22 25 27 35
1 4 8 18 27 32
2 4 8 22 27 38
15 22 27 28 29 31
8 15 22 27 32 38
4 8 27 38 41 43
8 27 38 41 43 45
15 22 25 27 32 38
2 4 6 8 28 32
4 8 9 22 32 38
15 22 27 37 38 41
1 4 5 7 30 32
4 8 22 27 32 38
Вариант с 8 цифрами:
1 4 8 15 22 27 32 38
Serzov вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите в excel Norik-74 Microsoft Office Excel 2 04.06.2008 11:27
Помогите с заданиями в Excel Arxan Помощь студентам 5 15.05.2008 20:29
Помогите! Глючит Excel Pithon Microsoft Office Excel 8 20.02.2008 07:47
Помогите с диаграммой в Excel Aaz38 Microsoft Office Excel 1 24.12.2007 11:40
Помогите по Excel пожалуйста лопух Microsoft Office Excel 2 04.11.2007 17:25