0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 67

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

28.08.2016, 22:14. Показов 1683. Ответов 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
Модератор
Эксперт функциональных языков программирования
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
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
694 / 491 / 251
Регистрация: 10.06.2016
Сообщений: 2,371
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
694 / 491 / 251
Регистрация: 10.06.2016
Сообщений: 2,371
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
694 / 491 / 251
Регистрация: 10.06.2016
Сообщений: 2,371
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru