Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для Юля777
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 12

Дополнить программу с множествами

12.04.2010, 20:36. Показов 975. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана программа (спасибо Аналитике) : 2 множества, из них получены пересечения, объединения и разность.
Нужно добавить: универсум, получить абсолютное дополнение каждого, симметричгую разность и если получится декартово произведение.
Очень прошу помочь!
Программа:
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
Private Sub Form_click()
   Dim a(), b()
   Dim c(), d(), e()
   Dim i, j
   Dim k_c, k_d, k_e
   Dim s_a, s_b, s_c, s_d, s_e
   Dim flag As Boolean
   
   a = Array(1, 2, 3, 4, 5)
   b = Array(7, 6, 5, 3, 4)
   
   For i = 1 To UBound(a)
      s_a = s_a & a(i) & "; "
   Next i
   For i = 1 To UBound(b)
      s_b = s_b & b(i) & "; "
   Next i
   
   Print "Массив a: " & s_a
   Print "Массив b: " & s_b
   
   c = b
   
   For i = 1 To UBound(a)
      For j = 1 To UBound(b)
         If a(i) = b(j) Then
            k_d = k_d + 1
            ReDim Preserve d(1 To k_d)
            d(k_d) = b(j)
            '----------------------------
            flag = False
            Exit For
         Else
            flag = True
         End If
      Next j
      
      If flag Then
         k_c = k_c + 1
         ReDim Preserve c(1 To UBound(b) + k_c)
         c(UBound(b) + k_c) = a(i)
         
         k_e = k_e + 1
         ReDim Preserve e(1 To k_e)
         e(k_e) = a(i)
      End If
   Next i
   
   For i = 1 To UBound(c)
      s_c = s_c & c(i) & "; "
   Next i
   If k_d > 0 Then
      For i = 1 To UBound(d)
         s_d = s_d & d(i) & "; "
      Next i
   End If
   For i = 1 To UBound(e)
      s_e = s_e & e(i) & "; "
   Next i
   
   Print "Объединение (a + b): " & s_c
   Print "Пересечение (ab): " & s_d
   Print "Разность (a\b): " & s_e
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2010, 20:36
Ответы с готовыми решениями:

Дополнить программу
Здравствуйте, вроде задание совсем простое, но вот никак не могу дополнить программку. Есть программа, которая создает граф. элементы...

Дополнить программу, из всех введенных элементов массива найти индекс первого и последнего отрицательного числа
dim n,str n=inputbox("Введи размер массива - ") dim mass() Redim mass(n) for i=0 to n mass(i)=inputbox ("Введи " & i+1...

Можете объяснить разницу между массивами и множествами, а так же принцип работы с множествами
Можете объяснить разницу между массивами и множествами, а так же принцип работы с множествами, и их способ применения

2
здесь больше нет...
3376 / 1674 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
13.04.2010, 17:52
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
Option Explicit
Option Base 1
Dim n As Integer, i, j, flag As Boolean
 
Private Sub Form_Click()
   Dim A(), B(), R()
   Dim A_plus_B(), AB(), A_minus_B(), B_minus_A()
   Dim R_A(), R_B(), A_minus_simm_B(), D_D()
   
   R = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 'Универсум
   A = Array(1, 2, 3, 4, 5)
   B = Array(7, 6, 5, 3, 4)
   
   Объединение A, B, A_plus_B
   Пересечение A, B, AB
   Разность A, B, A_minus_B
   Разность B, A, B_minus_A
   
   Разность R, A, R_A 'Дополнение A
   Разность R, B, R_B 'Дополнение B
   Разность A_plus_B, AB, A_minus_simm_B 'Симм. разность
'   Объединение A_minus_B, B_minus_A, A_minus_simm_B 'Симм. разность - альтернатива
   Декарт_произв A, B, D_D
   
   Print "Пространство R: " & s(R): Print String(50, "-")
   
   Print "Множество A: " & s(A)
   Print "Множество B: " & s(B): Print String(50, "-")
   
   Print "Объединение (A + B): " & s(A_plus_B)
   Print "Пересечение (AB): " & s(AB)
   Print "Разность (A\B): " & s(A_minus_B)
   Print "Разность (B\A): " & s(B_minus_A): Print
   
   Print "Дополнение A: " & s(R_A)
   Print "Дополнение B: " & s(R_B)
   Print "Симм. разность (A /\ B): " & s(A_minus_simm_B)
   Print "Декарт. произв (A x B): " & s(D_D)
End Sub
 
Sub Объединение(A(), B(), rez())
   n = 0
   rez = B
   For i = 1 To UBound(A)
      For j = 1 To UBound(B)
         If A(i) = B(j) Then
            flag = False
            Exit For
         Else
            flag = True
         End If
      Next j
      
      If flag Then
         n = n + 1
         ReDim Preserve rez(1 To UBound(B) + n)
         rez(UBound(B) + n) = A(i)
      End If
   Next i
End Sub
 
Sub Пересечение(A(), B(), rez())
   n = 0
   For i = 1 To UBound(A)
      For j = 1 To UBound(B)
         If A(i) = B(j) Then
            n = n + 1
            ReDim Preserve rez(1 To n)
            rez(n) = B(j)
            Exit For
         End If
      Next j
   Next i
End Sub
 
Sub Разность(A(), B(), rez())
   n = 0
   For i = 1 To UBound(A)
      For j = 1 To UBound(B)
         If A(i) = B(j) Then
            flag = False
            Exit For
         Else
            flag = True
         End If
      Next j
      
      If flag Then
         n = n + 1
         ReDim Preserve rez(1 To n)
         rez(n) = A(i)
      End If
   Next i
End Sub
 
Sub Декарт_произв(A(), B(), rez())
   n = 0
   ReDim Preserve rez(1 To UBound(A) * UBound(B))
   For i = 1 To UBound(A)
      For j = 1 To UBound(B)
         n = n + 1
         rez(n) = A(i) & "-" & B(j)
      Next j
   Next i
End Sub
 
Function s(arr_())
   On Error Resume Next
   For i = 1 To UBound(arr_)
      s = s & arr_(i) & ", "
   Next i
End Function
процедуры "Объединение" и "Разность" не совсем, мягко говоря, оптимальны.
Они работают, но алгоритм обработки я попробую улучшить.
Вложения
Тип файла: rar Массивы_Множества.rar (1.9 Кб, 24 просмотров)
1
здесь больше нет...
3376 / 1674 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
13.04.2010, 18:15
Exe-шник
Вложения
Тип файла: rar Проект1.rar (5.3 Кб, 23 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2010, 18:15
Помогаю со студенческими работами здесь

Приукрасить программу по работе с множествами
Написал программу для работы с множествами. Хотелось бы немного приукрасить ее, при этом научиться чему-то новому. Я хотел бы, чтобы в...

Дополнить программу.
Надо дополнить прогу, 1): пользователь должен выбирать будет ли он сам вводить матрицу или прога произвольные числа поставит сама(это есть)...

Дополнить программу
Построить файл данных, компонентами которого являются вещественные числа.Поменять местами первую и последнею компоненту данного файла. ...

Дополнить программу
#include <iostream> class Calories { public: void Power(); void Display(); void Read(); ...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru