Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67

Тема: « Массивы»

28.08.2016, 22:14. Показов 1568. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Секретный замок для сейфа состоит из 10 расположенных в ряд ячеек, в которые надо вставить игральные кубики. Но дверь открывается только в том случае, когда в любых трех соседних ячейках сумма точек на передних гранях кубиков равна 10. (Игральный кубик имеет на каждой грани от 1 до 6 точек.) Напишите программу, которая разгадывает код замка при условии, что два кубика уже вставлены в ячейки.

Добавлено через 54 секунды
Требования:
1. Среда разработки – Visual BASIC 6.0.
2. Представление решенной задачи – распечатанный программный код с комментариями и «скриншот» экранной формы с указанием имен объектов (значения свойства Name).
3. Приложение должно иметь интерфейс, отвечающий содержанию задачи с необходимыми элементами управления (примеры см. в прилагаемой папке «Пособие для студентов» в соответствие с тематикой задач).
4. К печатному варианту отчета по курсовой должен прилагаться электронный вариант разработанных приложений (проектов).
5. Требование к программному коду:
• Программный код проекта должен иметь подробные комментарии.
• Инструкция Option Explicit должна быть включена в программный код.
• Участки кода, когда это целесообразно, должны быть оформлены в виде процедур или функций, размещенных в отельных модулях.
• Ввести в интерфейс приложения элементы управления, отображающие вводимую и выводимую информацию.
• Если в условии задачи не указаны элементы управления интерфейса приложения, то ее код должен быть записан следующим образом
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.08.2016, 22:14
Ответы с готовыми решениями:

Массивы(больня тема)
Помогите, пожалуста. необходимо написать функцию, которая просматривает двухмерный массив в поиске колонн.(колонна - место, в которое...

тема: одномерные массивы
не могу сделать задачу.....помогите плиз ))))))) задача: переупорядочить заданный одномерный массив так, чтобы его элементы шли в порядке...

Тема: двумерные массивы. С++
Помогите сделать это. Особенно последнему пункту прошу уделить особое внимание- упорядочить значения по возрастанию модуля.

29
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
31.08.2016, 17:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от slava_psk Посмотреть сообщение
Поделились бы алгоритмом?
1. Если расстояние между двумя заданными кубиками кратно трём, то:
1.1. Если значения на кубиках различны, то решения нет.
1.2. Если значения на кубиках одинаковы, то можно составить группу из трёх кубиков с суммой 10 и повторять её
2. Если расстояние между двумя заданными кубиками не кратно трём, то:
2.1. Если сумма значений на кубиках больше 9 или меньше 4, то решения нет.
2.2. Если сумма значений на кубиках не больше 9 и не меньше 4, то можно составить группу из трёх кубиков с суммой 10 и повторять её.
2
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.08.2016, 18:41
и ищи в гугле что делает эта штука
до гугла можно заглянуть сюда
1
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
01.09.2016, 01:57  [ТС]
а можно увидеть программу кости-10?
0
690 / 487 / 250
Регистрация: 10.06.2016
Сообщений: 2,314
01.09.2016, 08:35
Думается мне, что это задача целочисленного программирования (транспортная задача, симплекс метод и т.п.), есть такой раздел математики.
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
01.09.2016, 09:27
Транспортная задача это совсем другое дело, это когда нужно найти оптимальный маршрут из нескольких точек
а тут только подобрать кубики, вот то что выложил Softice, у меня даже смех вызвало
в его код я конечно не внедрялся, смотрел только результат и понял что нужно было сделать для этого

Итак:
1 подбераем необходимую комбинацию чисел в массиве, Так! чтобы каждое из 3-х соседних давало в сумме 10
2 запоминаем эту комбинацию, но не показываем юзеру (фокус смокус)
3 Открываем то, что итак уже вычесленно

я конечно скину если очень надо, даже скину такой код который гарантированно даст отметку 5 в зачётке
только меня надо же попросить...
neokrom, хватит у тебя ума пополнить мне счёт на мегафоне +79243727279 (это устройство модема) ..если хватит то выложу, могу даже код от Softice прокоментировать

Добавлено через 5 минут
Вез коментариев:
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Option Explicit
Const r = 90, rr = 900, nn = 10
Dim WithEvents pb As PictureBox, im As Image
Dim WithEvents cb As CommandButton
Dim i&, v, a$(), s$, ss As String * nn, ll&(1 To nn)
 
Private Sub cb_Click()
    Dim i&, j&, ii&, l&, n&
    Select Case Mid$(cb.Name, 3)
    Case 1: Call reset
    Case 2
        'Решение
        Do
            ii = InStr(ii + 1, ss, 1)
            s = ""
            If ii > 0 Then
                l = ll(ii): n = n + 1
                For i = 1 To 6: For j = 1 To 6
                    If l + i + j = nn Then
                        s = s & " " & i & "," & j
                    End If
                Next: Next
                a = Split(Mid$(s, 2))
                a = Split(a(Fix(Rnd * (UBound(a) + 1))), ",")
                If ii = Choose(n, 1, 6) Then
                    s = Choose(n, 2, 7) & "," & Choose(n, 3, 8)
                ElseIf ii = Choose(n, 5, 10) Then
                    s = Choose(n, 3, 8) & "," & Choose(n, 4, 9)
                Else:
                    s = ii - 1 & "," & ii + 1
                End If: i = 0
                
                For Each v In Split(s, ",")
                    With Controls("im" & v)
                        .Move -(6 - a(i)) * rr
                        .Visible = 1
                    End With
                    i = i + 1
                Next
                
            End If
            
        Loop While ii > 0
    
    End Select
End Sub
 
Private Sub reset()
    ss = ""
    Erase ll
    For i = 1 To nn: Controls("im" & i).Visible = 0: Next
    Controls("cb2").Enabled = 0
End Sub
 
Sub SetNum(ByVal Index&, ByVal Num&)
    Randomize Timer
    If Index < 1 Or Index > nn Then Exit Sub
    If Num < 0 Or Num > 6 Then Exit Sub
    With Controls("cb2")
        If .Enabled Then Exit Sub
        With Controls("im" & Index)
            If Index <= 5 And InStr(1, Left$(ss, nn \ 2), 1) > 0 Then
                MsgBox "В левой части уже есть кубик", vbExclamation: Exit Sub
            ElseIf Index > 5 And InStr(1, Mid$(ss, nn \ 2 + 1), 1) > 0 Then
                MsgBox "В правой части уже есть кубик", vbExclamation: Exit Sub
            End If
            .Visible = Num > 0
            .Move -(6 - Num) * rr
            Mid$(ss, Index, 1) = 1
            ll(Index) = Num
        End With
        .Enabled = Replace$(ss, " ", "") = 11
    End With
End Sub
 
Private Sub Form_Activate()
    pb.SetFocus
End Sub
 
Private Sub Form_Load()
    Dim l&, t&, w&, h&
    
    l = r: t = r: w = rr: h = rr
    For i = 1 To nn
        Set pb = Controls.Add("vb.PictureBox", "pb" & i): With pb
            .Move l, t, w, h: l = l + w
            .Visible = 1
            Set im = Controls.Add("vb.Image", "im" & i, pb): With im
                Set .Picture = Me.Picture
            End With
        End With
    Next
    Set Me.Picture = Nothing
    l = r: t = t + rr + r: i = 0
    For Each v In Array("Сброс", "Найти решение"): i = i + 1
        Set cb = Controls.Add("vb.CommandButton", "cb" & i): With cb
            .Move l, t, rr * 2, rr \ 2: l = l + .Width + r
            .Caption = v
            .Visible = 1
        End With
    Next
    reset
    Me.Caption = "Кости-10"
End Sub
 
Private Sub pb_Click()
    SetNum Mid$(pb.Name, 3), Fix(Rnd * 6 + 1)
End Sub
 
Private Sub cb_LostFocus()
    pb_LostFocus
End Sub
 
Private Sub pb_LostFocus()
    If TypeOf ActiveControl Is PictureBox Then Set pb = ActiveControl
    If TypeOf ActiveControl Is CommandButton Then Set cb = ActiveControl
End Sub
0
690 / 487 / 250
Регистрация: 10.06.2016
Сообщений: 2,314
01.09.2016, 09:37
fever brain, Транспортная задача, это конечно не про это, но из той области математики. Наверняка такие постановки есть и все уже исследовано и есть разработанные методы решения. Первое что приходит в голову это решение линейной системы из 8 уравнений с ленточной матрицей, с ограничением на решения (целочисленные и заданного диапазона) Хотелось бы основательно здесь покопаться. Будет время займусь. Тут же встают вопросы единственности и существования решения. Ну например, если два кубика ставятся рядом, решение не всегда существует.
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
01.09.2016, 09:46
Цитата Сообщение от slava_psk Посмотреть сообщение
если два кубика ставятся рядом, решение не всегда существует
Ну значит нужно делать такие условия в выполнении.. когда 2 кубика не будут находиться рядом

Вот у меня как.. я человек не творческий и поэтому ничего умнее не придумал как не разрешать ставить кубики рядом
вот мой кусок:
Visual Basic
1
2
3
4
                MsgBox "В левой части уже есть кубик", vbExclamation: Exit Sub
            ElseIf Index > 5 And InStr(1, Mid$(ss, nn \ 2 + 1), 1) > 0 Then
                MsgBox "В правой части уже есть кубик", vbExclamation: Exit Sub
            End If
Добавлено через 3 минуты
Всё. Юзер введёт то что ему надо, а уже потом ппрограмма вычислит
Да. Я сразу как увидел эту возможность прикинул (без всяких уровнений) что решений может быть множество
и примерно 20% будут не иметь решений поэтому и недопустил возможность ставить кости (не туда куда надо)
0
01.09.2016, 11:05

Не по теме:

Цитата Сообщение от fever brain Посмотреть сообщение
хватит у тебя ума
Он тебе уже спасибку один раз нажал :rofl:

0
690 / 487 / 250
Регистрация: 10.06.2016
Сообщений: 2,314
11.09.2016, 12:49
Эта задача может быть формализована, сведена к решению системы из 8-и линейных уравнений. Методы решения таких систем – классика численных методов, например метод Гаусса (проходится во всех классических вузовских курсах по численным методам и программированию). Кроме того математика существования и единственности решения для таких систем известна более 200 лет.
Например, если 3-ка в третьей позиции , а 5-ка в седьмой, то система будет иметь вид:

1*x1+1*x2+0*x3+0*x4+0*x5+0*x6+0*x7+0*x8 = 7
0*x1+1*x2+1*x3+0*x4+0*x5+0*x6+0*x7+0*x8 = 7
0*x1+0*x2+1*x3+1*x4+0*x5+0*x6+0*x7+0*x8 = 7
0*x1+0*x2+1*x3+1*x4+1*x5+0*x6+0*x7+0*x8 = 10
0*x1+0*x2+0*x3+1*x4+1*x5+0*x6+0*x7+0*x8 = 5
0*x1+0*x2+0*x3+0*x4+1*x5+1*x6+0*x7+0*x8 = 5
0*x1+0*x2+0*x3+0*x4+0*x5+1*x6+1*x7+0*x8 = 5
0*x1+0*x2+0*x3+0*x4+0*x5+1*x6+1*x7+1*x8 = 10

Решение системы методом Гаусса будет:

x1=5, x2=2, x3=5, x4=2, x5=3, x6=2, x7=3, x8=5
Т.е. полная комбинация

5 2 3 5 2 3 5 2 3 5

Но по существованию и единственности решения следующие варианты:

1. Решение существует и единственное, при этом все числа > 0 и <=6. Это наш случай. Решение может содержать отрицательные числа и числа > 6. Это нужно отфильтровывать.
2. Решение не существует, когда определитель системы =0. Это нужно отфильтровывать
3. Существует множество решений. Например, на 4-й и 10-й позиции четверки. В этом случае существует множество решений, для нашего случая 6. Этот вариант нужно так же отфильтровывать, так как у двери должен быть один ключ. Кстати сказать OpenTheDoor.exe не отфильтровывает этот вариант!?

Прилагаю проект на VB6 Гаусс.rar. Всем удачи.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
11.09.2016, 20:41
Цитата Сообщение от fever brain Посмотреть сообщение
даже скину такой код который гарантированно даст отметку 5 в зачётке
-
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.09.2016, 20:41
Помогаю со студенческими работами здесь

Написание кода. Тема: Массивы
1) Найти количество четных элементов. 2) Найти сумму элементов кратных 3. 3) Найти разность max и min элементов массива. ...

Необходимо исправить программу! Тема массивы
#include &lt;iostream&gt; #include &lt;StdAfx.h&gt; using namespace std; int main() { setlocale ( LC_ALL, &quot;Rus&quot; ); int n = 0; ...

Нужно разобраться тема: Одномерные массивы
Дан одномерный массив из N элементов. Вычислить сумму квадратов чисел, больших заданного С; подсчитать количество неположительных...

Нужно разобраться тема: Двумерные массивы
В задаче задается квадратная матрица NxN. Программа должна осуществлять ввод и печать исходной матрицы и возможно, дополнительных данных,...

Создать форму по коду (Тема одномерные массивы)
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru