Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
1

Перечисление всех различных слов, полученных перестановкой

28.04.2015, 21:59. Показов 1973. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу сделать без повторений! (с повторениями работает) ошибка в строке B(d) = A(i, j) + A(j, k) + A(k, l) + A(l, m) + A(m, n) + A(n, g) + A(g, i)
Пожалуйста, подскажите в чём ошибка.
Слово "КОЛОКОЛ"
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Sub Combin2()
Dim A(10, 10), B(840)
For i = 1 To 7
A(i, 1) = "Ê": A(i, 2) = "Î": A(i, 3) = "Ë": A(i, 4) = "Î": A(i, 5) = "Ê": A(i, 6) = "Î": A(i, 7) = "Ë"
Next i
d = 1
For i = 1 To 7
For j = 1 To 7
For k = 1 To 7
For l = 1 To 7
For m = 1 To 7
For n = 1 To 7
For g = 1 To 7
 
If i = j Then GoTo 10
If i = k Then GoTo 10
If i = l Then GoTo 10
If i = m Then GoTo 10
If i = n Then GoTo 10
If i = g Then GoTo 10
If j = k Then GoTo 10
If j = l Then GoTo 10
If j = m Then GoTo 10
If j = n Then GoTo 10
If j = g Then GoTo 10
If k = l Then GoTo 10
If k = m Then GoTo 10
If k = n Then GoTo 10
If k = g Then GoTo 10
If l = m Then GoTo 10
If l = n Then GoTo 10
If l = g Then GoTo 10
If m = n Then GoTo 10
If m = g Then GoTo 10
If n = g Then GoTo 10
 
'Cells(d, 1) = A(g, i) + A(i, j) + A(j, k) + A(k, l) + A(l, m) + A(m, n) + A(n, i)
B(d) = A(i, j) + A(j, k) + A(k, l) + A(l, m) + A(m, n) + A(n, g) + A(g, i)
d = d + 1
10 '***
Next g, n, m, l, k, j, i
d = 1
For j = 1 To 840
For i = j To 839
If B(j) = B(i + 1) Then GoTo 20
GoTo 30
20 Cells(d, 2) = B(j)
d = d + 1
30 '***
Next i, j
End Sub

делал по примеру (тут с повторениями)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub Combin2()
Dim A(10, 10), B(720)
For i = 1 To 6
A(i, 1) = "К": A(i, 2) = "О": A(i, 3) = "Л": A(i, 4) = "Е": A(i, 5) = "С": A(i, 6) =
"О"
Next i
d = 1
For i = 1 To 6
For j = 1 To 6
For k = 1 To 6
For l = 1 To 6
For m = 1 To 6
For n = 1 To 6
If i = j Then GoTo 10
If i = k Then GoTo 10
If i = l Then GoTo 10
If i = m Then GoTo 10
If i = n Then GoTo 10
If j = k Then GoTo 10
If j = l Then GoTo 10
If j = m Then GoTo 10
If j = n Then GoTo 10
If k = l Then GoTo 10
If k = m Then GoTo 10
If k = n Then GoTo 10
If l = m Then GoTo 10
If l = n Then GoTo 10
If m = n Then GoTo 10
'Cells(d, 1) = A(i, j) + A(j, k) + A(k, l) + A(l, m) + A(m, n) + A(n, i)
B(d) = A(i, j) + A(j, k) + A(k, l) + A(l, m) + A(m, n) + A(n, i)
d = d + 1
10 '***
Next n, m, l, k, j, i
d = 1
For j = 1 To 720
For i = j To 719
If B(j) = B(i + 1) Then GoTo 20
GoTo 30
20 Cells(d, 2) = B(j)
d = d + 1
30 '***
Next i, j
End Sub
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2015, 21:59
Ответы с готовыми решениями:

Сколько различных слов можно получить перестановкой
Сколькими способами из колоды карт в 36 листов можно выбрать неупорядоченный набор из 5 карт так,...

Сколько различных слов можно получить перестановкой букв
Сколько различных слов можно получить перестановкой букв в слове "комитет" при условии, что гласные...

Сколько различных слов можно получить перестановкой букв
Здравствуйте форумчане! Жду помощи от вас в решении данной задачки Сколько различных слов можно...

Сколько различных слов можно получить перестановкой букв
Сколько различных слов можно получить перестановкой букв слова «околоток», если ровно три буквы «о»...

15
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 22:08 2
Цитата Сообщение от Ray1100 Посмотреть сообщение
ошибка в строке B(d) = A(i, j)
И чему равно d при ошибке?
0
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 22:23  [ТС] 3
я в excel работаю там не пишет(или я туплю)

Добавлено через 5 минут
или это намёк на ошибку?
0
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 22:27 4
Цитата Сообщение от Ray1100 Посмотреть сообщение
я в excel работаю там не пишет(или я туплю)
Писать не пишет, но если в сообщении об ошибке нажать "Debug" и навести курсор на "d", то наверняка всплывет цифра 841
Цитата Сообщение от Ray1100 Посмотреть сообщение
или это намёк на ошибку?
Ага
1
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 22:30 5
Вот так показывает?
Миниатюры
Перечисление всех различных слов, полученных перестановкой  
1
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 22:36  [ТС] 6
Как так? ведь слов 840 (7!/3!)

Добавлено через 2 минуты
ей(программе) ячеек не хватает ?
0
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 22:39 7
Объявляй B(4141) - не ошибёшься
0
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 22:48  [ТС] 8
та же ошибка (
0
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 22:58 9
Цитата Сообщение от Ray1100 Посмотреть сообщение
та же ошибка (
Чему равно d во время ошибки?

Добавлено через 1 минуту
'####
Вот тебе без повторов

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Explicit
Dim d
 
Sub Main()
    Dim v, k As Integer
    Set d = CreateObject("Scripting.dictionary")
    Ray "КОЛОКОЛ"
    For Each v In d.Keys
         k = k + 1: Cells(k, 2) = v
    Next
End Sub
 
Private Sub Ray(S As String, Optional SS As String = "")
    Dim i As Integer
    If Len(S) = 1 Then
        d.Item(SS & S) = d.Item(SS & S) + 1
    Else
       For i = 1 To Len(S)
          Ray Left$(S, i - 1) & Mid$(S, i + 1), SS & Mid$(S, i, 1)
       Next
    End If
End Sub
1
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 22:59  [ТС] 10
4142
0
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 23:04 11
Цитата Сообщение от Ray1100 Посмотреть сообщение
4142
Значит, 4141 мало
1
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 23:06  [ТС] 12
Чудо свершилось!

Добавлено через 44 секунды
НО слов всего 210 вместо ожидаемых 840
0
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 23:19 13
Цитата Сообщение от Ray1100 Посмотреть сообщение
НО слов всего 210 вместо ожидаемых 840
Значит кто-то неправ
1
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 23:27  [ТС] 14
а ну да там 2 "Л" есть ещё....

Добавлено через 1 минуту
а как расчитать? не подскажите? сижу ищу ,но везде формула только с повторениями

Добавлено через 26 секунд
Ну и на этом огромное спасибо!
0
es geht mir gut
 Аватар для SoftIce
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.04.2015, 23:34 15
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Ray1100 Посмотреть сообщение
а как расчитать? не подскажите? сижу ищу
Так что ли?
Миниатюры
Перечисление всех различных слов, полученных перестановкой  
1
28 / 24 / 24
Регистрация: 18.05.2014
Сообщений: 133
28.04.2015, 23:46  [ТС] 16
Уф...Спасибо большое! Разобрался!

Добавлено через 4 минуты
Если не секрет, откуда такие знания?
1
28.04.2015, 23:46
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2015, 23:46
Помогаю со студенческими работами здесь

Сколько различных слов можно получить перестановкой букв
сколько различных слов можно получить перестановкой букв в слове пастух, при условии, что между 2...

Сколько различных слов можно получить перестановкой букв
Сколько различных слов можно получить перестановкой букв слова перешеек,при условии, что четыре...

Сколько различных слов можно получить перестановкой слова «атаман»
Сколько различных слов можно получить перестановкой слова «атаман»? Ответьте на данный вопрос при...

Сколько различных слов можно получить перестановкой букв слова?
Сколько различных слов можно получить перестановкой букв следующего слова: «ПЕРЕДВИЖНИК» — в начале...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации. Исполнитель Чертежник работает на координатной плоскости, где может. . .
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru