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

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

28.08.2016, 22:14. Показов 1511. Ответов 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
686 / 484 / 247
Регистрация: 10.06.2016
Сообщений: 2,286
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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru