![]() |
|
Модераторы: mihanik |
![]()
|
|
| itkhm |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.5.2006 Репутация: нет Всего: нет |
У меня такая проблема:
в ячейке 1 есть число (например 10), и столбец с числами (например 2 3 6 5 4), нужно чтобы в новой ячейке отобразились числа (2 3 6 5 4), которые в сумме дадут (10). Например: Ответ 10 2 2 3 5 3 6 4 6 5 4 В одном ответе числа не должны повторяться Например: Ответ 10 2 2 2 4 3 5 5 - ЭТО НЕ ПРАВЕЛЬНО 6 3 3 4 5 4 Помогите пожалуйста решить задачку. Заранее, большое спасибо. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
плохо понял задачу, но имхо проще будет на вба написать это все
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Izuver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 352 Регистрация: 13.6.2006 Где: Омск Репутация: 2 Всего: 2 |
Попробуй так:
Sub две_цифры() For a = 1 To 10 For b = 1 To 10 If a <> b Then If Cells(a, 2) + Cells(b, 2) = Cells(1, 1) Then Cells(a, 3) = Cells(a, 2) Cells(a, 4) = Cells(b, 2) End If End If Next b Next a End Sub Sub три_цифры() For a = 1 To 10 For b = 1 To 10 If a <> b Then For c = 1 To 10 If a <> c Then If b <> c Then If Cells(a, 2) + Cells(b, 2) + Cells(c, 2) = Cells(1, 1) Then Cells(c, 3) = Cells(a, 2) Cells(c, 4) = Cells(b, 2) Cells(c, 5) = Cells(c, 2) End If End If End If Next c End If Next b Next a End Sub Но здесь будет 2 проблемы: 1. Убрать одинаковые (7 1 2 и 1 2 7) 2. Сложить в единый цикл несколько кодов |
|||
|
||||
| Izuver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 352 Регистрация: 13.6.2006 Где: Омск Репутация: 2 Всего: 2 |
Во? так будет проще
Sub lj_трёх_цифр() x0 = Cells(1, 1) For a = 1 To x0 x1 = Cells(a, 2) For b = 0 To x0 If b = 0 Then x2 = 0 Else x2 = Cells(b, 2) End If For c = 0 To x0 If c = 0 Then x3 = 0 Else x3 = Cells(c, 2) End If If b <> c Then If a > b And a > c And x1 + x2 + x3 = x0 Then q = q + 1 If (-1) ^ q = 1 Then Cells(1, 7) = q Cells(q / 2, 3) = x1 Cells(q / 2, 4) = x2 Cells(q / 2, 5) = x3 End If End If End If Next c Next b Next a End Sub |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |