Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VBA Расположить элементы одномерного массива в матрице Элементы одномерного массива A(n*n) построчно расположить в матрице B(n,n) https://www.cyberforum.ru/ vba/ thread419432.html VBA Отслеживание работы макроса в цикле (прогресс)
Нужен несложный вариант индикации работы макроса в программе циклических расчетов, то есть видеть каким-либо образом, на какой стадии идут расчеты по циклу, где например счетчик цикла меняется от 1 до большой величины - примерно до 20000. Например, текущая индикация счетчика ну или что-то типа того, а то запускаешь, а когда кончится - неизвестно и не видно. Расчеты на несколько часов.
VBA Удалить из строки символы, стоящие между двумя звездочками https://www.cyberforum.ru/ vba/ thread419203.html
Решите пожалуйста 2 задачки самым простым способом и если не трудно,объясните каждую строчку. Вводится строка,удалить из нее символы,стоящие между двумя звездочками(например:123*456*345 или 2334*е54н6*664*7474*56),звездочек может быть неограниченное число. Подсчитать количество воскресений в месяце,название которого вводится.
VBA Работа с презентацией (размещение картинок) через Word Привет всем!Подскажите пожалуйста, у меня задание: надо "Cоздать презентацию PowerPoint на основе набора JPG-картинок, которые лежат в каком-то каталоге. Файлов в каталоге переменное количество. Поместить файлы JPEG в презентацию в порядке следования в каталоге. JPG-файлы могут быть разного размера (по высоте и ширине), а на слайдах изображения должны быть одного размера." Вот я описываю... https://www.cyberforum.ru/ vba/ thread419098.html
Выбор случайных строк в списке VBA
Здравствуйте! Задача такая: - на list1 есть заполненный столбец с данными - на list2 находится некое значение (от 1 до 10), которое может меняться вследствие неких независимых операций (например в A1) Нужно: Сделать так, чтобы код выбрал из list1 В СЛУЧАЙНОМ порядке строки, количество которых, совпадает с А1
VBA Сформировать массив D, куда записать все элементы массива Х(N) расположенные до минимального и после максимального элементов Задан массив Х(N). Сформировать массив D, куда записать все элементы массива Х(N) расположенные до минимального и после максимального элементов массива Х(N). Заранее спасибо. https://www.cyberforum.ru/ vba/ thread418958.html
VBA Определить минимальный элемент в массиве Ребята помогите пожалуйста)VBA не идет а задание сделать нужно по любому! на листе1 задан массив из 20 чисел в диапозоне от -100 до 100. определить минимальный элемент.элементы стоящие после минимального отсортировать в порядке возрастания в VBA.Результ. вывести на лист2. https://www.cyberforum.ru/ vba/ thread418938.html VBA Определить шрифт и размер шрифта слова в Word
Нужно пройтись по всем документу по каждому слову и определить шрифт слова и размер шрифта. Какая есть коллекция со всеми словами в документе и как определить шрифт и размер шрифта для объекта такой коллекции (те конкретного слова)? Задание просто красить слова по всему документу с шрифтом и размером шрифта как у выделенного слова так вот мне и надо теперь как-то пройтись по всем словам...
VBA Подсчитать количество дополнительных чисел набора, расположенного на выбранном листе написать на VBA для экселя Подсчитать кол-во дополнительных чисел набора, расположенного на выбранном листе Лист2 в клетках С2:С12. Результат вывести в окне сообщений. Для сохранении результата на выбранном листе в клетке С15 предвидеть запрос в стандартном окне диалога с двумя командными кнопками. просто VBA не знаю вообще.А задали эту задачу помогите плиз кому не трудно https://www.cyberforum.ru/ vba/ thread418772.html VBA Поменять местами столбцы, найти количество нулей В матрице D(7,8) поменять местами 1-й и 5-й столбцы, найти кол-во нулей. https://www.cyberforum.ru/ vba/ thread418714.html
Нужно разбить программу на подпрограммы VBA
Вот у меня есть программа) Только я не могу её разбить на подпрограммы( Она у меня тогда просто отказываеться работать(( Помогите пожалуйста)) Private Sub Rozrahunkova() Dim n As Integer, m As Integer, i As Byte, j As Byte, S() As Integer n = InputBox("Задайте кількість рядків") m = InputBox("Задайте кількість стовбців")
VBA Написать программу, которая находит максимальную сумму чисел в вершинах треугольника при движении сверху вниз https://www.cyberforum.ru/ vba/ thread418509.html
Народ такая задача, если кто разбирается в языке SkiLab желательно на нём написать, но можно и на vba: спуск с горы 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 На рисунке числовой треугольник. Необходимо написать программу, которая находит максимальную сумму чисел в вершинах треугольника при движении сверху вниз, из каждой вершины есть 2 хода: направо и налево. Другими словами говоря это...
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
29.12.2011, 16:22 0

Перемещение фишки в поиске другой фишки - VBA - Ответ 2340479

29.12.2011, 16:22. Показов 1537. Ответов 2
Метки (Все метки)

Ответ

Код совсем сырой. И не соответствует всем условием топика. Хотя мне было бы очень интересно услышать описание окончательного принципа работы от автора.

После увиденного кода возникли вопросы:
1) "клетки, на которые наступать нельзя". По остальным ходить можно или они тоже строго определены?
2) Расположение фишек случайное?

Кажется понял суть, автор таким образом отмечал путь, чтобы повторно туда не возвращатся. Иначе перебор станет бесконечным циклом.

Добавлено через 46 минут
При чем каждый следующий шаг отмечался порядковым номером прямо на поле. Таким образом можно заполнить хоть все поле количеством минимальных шагов к каждой клетке, при этом с учетом запрещенных клеток. Возможно это и хотел сделать автор. Без этого кода я бы не додумался. Теперь можно модифицировать алгоритм перебора под эту задачу.

Добавлено через 13 часов 56 минут
Я не делал алгоритм полного перебора, так как полностью понял идею автора кода в топике. Метод дерева.

Извините делал на скорую руку - пока без трекинга и раскраски. Просто запустите и увидите.
Все цифры, которые >0 обозначают минимальное количество ходов к ним начиная с точки "0" (фишка № 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
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Sub Fishka8ver2()
 
Dim base() As Variant
Dim col As Range
Dim xt As Integer, yt As Integer
Set rng = Range("A1:H8")
'ActiveSheet.UsedRange.Cells.Interior.ColorIndex = 0
 
With Application.WorksheetFunction
    If .CountIf(rng, 0) <> 1 Or .CountIf(rng, -2) <> 1 Then
        Cells(10, 1) = "Демонстрация"
        Cells(1, 1) = 0: Cells(1, 3) = -1
        Cells(2, 3) = -1: Cells(2, 4) = -1
        Cells(4, 4) = -1: Cells(5, 3) = -1
        Cells(8, 8) = -2: rng.HorizontalAlignment = xlCenter
        MsgBox "Фишка № 1 обозначается нулем '0'" & vbCr & "Фишка назначения № 2 обозначается '-2'" & vbCr & "Препятствия '-1'."
        Else: Cells(10, 1).Clear
    End If
End With
 
base = Application.Transpose(rng)
 
For Each col In rng
    If col.Value = 0 And CStr(col.Value) <> "" Then posX = col.Column: posY = col.Row
Next
 
a = 0 'Движение c клетки "0"
x = posX: y = posY
Do While a <> 20
    For y = 1 To 8
        For x = 1 To 8
            If base(x, y) = a And CStr(base(x, y)) <> "" Then
                For direct = 1 To 8
                    route x:=x, y:=y, xt:=xt, yt:=yt, direct:=direct
                    If xt >= 1 And xt <= 8 And yt >= 1 And yt <= 8 Then
                        If base(xt, yt) = -2 Then
                            MsgBox a + 1 & " шагов."
                            Exit Sub
                        End If
                        If (CStr(base(xt, yt)) = "" Or base(xt, yt) > a) And CStr(base(xt, yt)) <> "0" Then
                                base(xt, yt) = a + 1
                                Cells(yt, xt) = a + 1 'удалить?
                        End If
                    End If
                Next direct
            End If
        Next x
    Next y
    a = a + 1
Loop
MsgBox "Нет решения!"
End Sub
 
Private Sub route(ByVal x As Integer, ByVal y As Integer, ByRef xt As Integer, ByRef yt As Integer, ByVal direct As Integer)
Select Case direct 'направление хода конем
    Case 1
        xt = x + 1: yt = y - 2 'вверх2-направо
    Case 2
        xt = x + 2: yt = y - 1 'вверх-направо2
    Case 3
        xt = x + 2: yt = y + 1 'вниз-направо2
    Case 4
        xt = x + 1: yt = y + 2 'вниз2-направо
    Case 5
        xt = x - 1: yt = y + 2 'вниз2-налево
    Case 6
        xt = x - 2: yt = y + 1 'вниз-налево2
    Case 7
        xt = x - 2: yt = y - 1 'вверх-налево2
    Case 8
        xt = x - 1: yt = y - 2 'вверх2-налево
End Select
End Sub


Вернуться к обсуждению:
Перемещение фишки в поиске другой фишки VBA
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2011, 16:22
Готовые ответы и решения:

Игра: Выигрывает тот, кто снимает с игрового поля последние фишки
Нужно написать игру. В которой: Имеется игровое поле в виде горизонтальной полосы клеток...

Построить граф. Даны две плоские фишки каждая из которых имеет на одной стороне цифру 1, а на другой - цифру 2,
две плоские фишки, каждая из которых имеет на одной стороне цифру 1, а на другой - цифру 2,...

Фишки
Помогите решить задачу, пожалуйста. Файл с заданием во вложении. Добавлено через 1 час 1...

Фишки в Access
Подскажите можноли в access сделать так чтобы при открытии формы играла музыка? Заранее благодарен...

2
29.12.2011, 16:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2011, 16:22
Помогаю со студенческими работами здесь

Полезные фишки
Здравствуйте! Раньше всегда отмахивался от информации которая мне не нужна но могла бы пригодится...

Игра Фишки
ФИШКИ

путь фишки
фишка может двигаться по полю длины N только вперед. длина хода фишки не более К. найти число...

Освобождение памяти и фишки VS
1) Откуда delete знает, сколько элементов в массиве, ведь обычный sizeof(a), где a - (допустим)...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru