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

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

28.08.2016, 22:14. Показов 1586. Ответов 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
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
28.08.2016, 22:31
Цитата Сообщение от neokrom Посмотреть сообщение
Требования:
1. Среда разработки – Visual BASIC 6.0.
2. Представление решенной задачи – распечатанный программный код с комментариями и «скриншот» экранной формы с указанием имен объектов (значения свойства Name).
3. Приложение должно иметь интерфейс, отвечающий содержанию задачи с необходимыми элементами управления (примеры см. в прилагаемой папке «Пособие для студентов» в соответствие с тематикой задач).
4. К печатному варианту отчета по курсовой должен прилагаться электронный вариант разработанных приложений (проектов).
5. Требование к программному коду:
• Программный код проекта должен иметь подробные комментарии.
• Инструкция Option Explicit должна быть включена в программный код.
• Участки кода, когда это целесообразно, должны быть оформлены в виде процедур или функций, размещенных в отельных модулях.
• Ввести в интерфейс приложения элементы управления, отображающие вводимую и выводимую информацию.
• Если в условии задачи не указаны элементы управления интерфейса приложения, то ее код должен быть записан следующим образом
И 5 баллов в зачетку!
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
29.08.2016, 15:22
Вот так чтоли интерфейс должен выглядеть ?
Миниатюры
Тема: « Массивы»  
1
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
29.08.2016, 17:17  [ТС]
какой код к этой программе ?
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
29.08.2016, 17:35
ну там не только код, а встроенная картинка с 6-ю кубиками и 10 ячеек
ячейки это контейнера PictureBox в котором дочерняя картинка с нужным кубиком по выбору ..
еще недоделал могу продемонстрировать часть ...

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
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&
    Debug.Print Mid$(cb.Name, 3)
    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)
                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(s)
'                a = Split(a(Rnd * (UBound(a) + 1)), ",")
                Stop
            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
Вложения
Тип файла: rar Кости.rar (18.8 Кб, 14 просмотров)
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
29.08.2016, 18:16
Ну вобщем я уже всё сделал, дам пожалуй тебе самому порешать а заодно коментарии и прочее написать..
А я пока пойду.. в покемонов поиграю...
Ниже картинки (слайд шоу) тоесть как это у меня безупречно работает..
тоесть форма, первый тык, второй тык и решение.
до связи
Миниатюры
Тема: « Массивы»   Тема: « Массивы»   Тема: « Массивы»  

Тема: « Массивы»  
0
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
29.08.2016, 20:40  [ТС]
то есть ..ты сначала картинку вставил ..потом ячейки встовлял или ты сначала ячейки делал а потом в каждую ячейку картинку встовлял ?

Добавлено через 23 минуты
А можешь с объяснением написать как ты всё делал ..не могу въехать как ты это делал ..4 чеса приседал и не фига с твои кодом не сходиться ! если тебе не трудно плыс!
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
29.08.2016, 21:52
Цитата Сообщение от neokrom Посмотреть сообщение
с твои кодом не сходиться
А что у тебя с его кодом не сходится?
0
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
29.08.2016, 23:00  [ТС]
программа на слове "stop" останавливается
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.08.2016, 23:17
программа на слове "stop" останавливается
Так "stop" для этого и предназначен!
1
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
29.08.2016, 23:21  [ТС]
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
Private Sub Text1_Change(Index As Integer)
'для ручного подбора
On Error Resume Next
col = vbGreen
For i = 0 To 7
    Sum = 0
    Sum = CInt(Text1(i)) + CInt(Text1(i + 1)) + CInt(Text1(i + 2))
    If Not Sum = 10 Then col = vbWhite
Next
For i = 0 To 9
    Text1(i).BackColor = col
Next
End Sub
 
Private Sub Command1_Click()
'случайный выбор 2 заданых кубиков
For i = 0 To 9
    Text1(i) = 0
Next
t1 = Int(Rnd() * 10)
Text1(t1) = Int(Rnd() * 6 + 1)
Do
    t2 = Int(Rnd() * 10)
Loop While t2 = t1
Do
    Text1(t2) = Int(Rnd() * 6 + 1)
Loop While CInt(Text1(t1)) + CInt(Text1(t2)) > 9
End Sub
 
Private Sub Command2_Click()
Dim x&(2)
x(0) = 0: x(1) = 0: x(2) = 0
For i = 0 To 9
    If Not IsNumeric(Text1(i)) Then Exit Sub
    If CInt(Text1(i)) > 0 Then
        k = i Mod 3
        If Not x(k) = 0 Then
            If CInt(Text1(i)) = x(k) Then
                'если есть только 1 значение
                For j = 0 To 2
                    If Not j = k Then
                    x(j) = 1
                    GoTo out
                    End If
                Next
            Else
                MsgBox "нет решений"
                Exit Sub
            End If
        End If
        x(k) = CInt(Text1(i))
    End If
Next
 
If x(0) + x(1) + x(2) > 9 Then MsgBox "нет решений": Exit Sub
out:
If x(0) = 0 Then x(0) = 10 - x(1) - x(2)
If x(1) = 0 Then x(1) = 10 - x(0) - x(2)
If x(2) = 0 Then x(2) = 10 - x(1) - x(0)
 
For i = 0 To 9
    k = i Mod 3
    Text1(i) = x(k)
Next
End Sub
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
30.08.2016, 07:22
Цитата Сообщение от neokrom Посмотреть сообщение
MsgBox "нет решений"
А зачем генерировать варианты без решений?

Вот тебе программа, местами использован твой код, играйся
Миниатюры
Тема: « Массивы»  
Вложения
Тип файла: rar Исходник.rar (27.2 Кб, 11 просмотров)
Тип файла: rar Программа.rar (16.5 Кб, 12 просмотров)
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
30.08.2016, 11:21
Да вот оно решение!
Я хотел чтобы наш пионер хоть сам немного подумал..
но судя по всему он уже 4 чеса про это думал. Поэтому скину это пусть прикручивает
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
        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
Добавлено через 1 час 2 минуты
SoftIce, просмотрел ваши вложения. Ничем принципиально не отличается
только нет подробных коментариев, как и у меня,.. ну ладно .. тоже скину свою скомпилированную программу
чтобы посмотреть чем отличается твоё от моего, на мой взгляд множество ненужных контролов
которые вообще не нужны ..
Цитата Сообщение от neokrom Посмотреть сообщение
• Ввести в интерфейс приложения элементы управления, отображающие вводимую и выводимую информацию.
Зачем там ряд из повторяющих кубиков ?
Можно же ведь как.. ?

Дать возможность *взломщику* сначало кинуть первый кубик а потом второй )) и незачем делать полный ряд для решения, простой перебор из тех вариантов которые дают в сумме 10
а уже из этих вариантов можно сделать выбор и вставить, таким образом будет эфект неожиданности
будто бы компьютер сам догадался куда какие кубики при-рисовать )


Вложение с программой:
Вложения
Тип файла: rar Кости.rar (14.9 Кб, 14 просмотров)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
30.08.2016, 12:06
fever brain, нет не так.
Легенда такая - Дверь закрыта, чтобы открыть нужно заполнить определенным образом ряд кубиков.
Два кубика по условию уже должны быть установлены изначально. Задача пользователя - выставить правильно остальные.
В моей программе пользователь может сам искать комбинацию вручную или её найдет программа.

Кубики должны быть расставлены так:

"в любых трех соседних ячейках сумма точек на передних гранях кубиков равна 10"
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
30.08.2016, 12:25
У меня так и так решение не будет найденно пока не появится две кости
хотя согласен, подобным же методом перебора можно найти решение, тоесть не подставлять какието случайные кости
а подобрать их так чтобы любой из трёх костей в данном ряду.. давал в сумме 10
Надо дать слово ученику.. что он скажет, в любом случае уверен что повеселит своими высказываниями ))
0
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
30.08.2016, 17:49  [ТС]
а можно для особо одарённых описать как вы это делали !? как программу составляли и код писали ..как для чайников !))
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
30.08.2016, 18:06
fever brain, объясни товарищу
0
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67
30.08.2016, 19:29  [ТС]
а тебе слабо?
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
31.08.2016, 11:31
Действуй методом тыка. бери кусок нашего текста и ищи в гугле что делает эта штука...
и поставь защиту от эротики.. а то будут приходить картинки, которые тебе еще рано смотреть ))...

Добавлено через 1 час 2 минуты
Тебе вообще очень повезло что я и SoftIce, с тобой нянчиются, не каждому так фортит
приседал он... тут некоторые годами приседают особенно те, которые сегодня хотят получить ответ
и которым лень знать все внутринности как это всё работает, тут таких много..
а которые знаютуже с большим уважением относятся ко мне и к нашему брату, мы даём подсказку !
даже если тебе выложить готовый вариант с коменариями. это же для тебя только будет хуже
тебе в будущем доверят чтото сложное, например алгоритм потенциальных угроз в аэропорту..
и чо?.. ты будешь мамку искать или нас через форум чтобы тебе рассказать как выпутаться ?

Найди себя самого, и как бы ты сам это сделаешь
1
692 / 489 / 251
Регистрация: 10.06.2016
Сообщений: 2,340
31.08.2016, 13:18
Поделились бы алгоритмом? Есть массив чисел из 10 элементов, два из которых фиксированы (1...6). Как сформировать массив с условиями задачи? Можно идею в общих чертах.

Добавлено через 32 минуты
Заполняется только фиксированными тройками чисел. Первые два это введенные, а третье дополнение до 10. В этом нужно искать алгоритм, понятно. А если введено две шестерки или две пятерки, например.? Тогда видимо решений не получим. А вот интересно есть ли другие решения для произвольных комбинаций?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.08.2016, 13:18
Помогаю со студенческими работами здесь

Написание кода. Тема: Массивы
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,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru