
- •2. Операции над множествами:
- •5.Способы задания бинарных отношений:
- •6. Основные свойства бинарных отношений:
- •7. Основные типы отношений:
- •3)Дополнение множества а к множеству в
- •5)Декартовое произведение
- •6)Возведение в квадрат множества
- •7)Возведение в квадрат множества
- •5)Декартовое произведение
- •2.3 Согласно варианту задания задать бинарное отношение на множествах а и в в виде матрицы отношений
- •2.4 Составить программу и разработать словесный алгоритм программы выполнения операции дополнения над множествами а и в.
5)Декартовое произведение
{ int A[10]= ={40,97,10,10,12,8,9,38,92,88,}
B[10]={60,45,56,48,85,53,70,63,20,37}, i , j;
for(i=0; i<10; i++)
A[i]=StrToInt(Memo1->Lines->Strings[i]);
for(j=0; j<10; j++)
B[j]=StrToInt(Memo2->Lines->Strings[j]);
for(i=0; i<10; i++)
for(j=0; j<10; j++)
Memo3->Lines->Add(A[i]+”,”+B[i]); }
6)Возведение в квадрат
int a[10]= {40,97,10,10,12,8,9,38,92,88,}
int b[10]= {60,45,56,48,85,53,70,63,20,37}
for(int i=0;i<10;i++)
{
StringGrid1->Cells[0][i]=IntToStr(a[i]);
StringGrid2->Cells[0][i]=IntToStr(b[i]);
a[i]=a[i]*a[i];
b[i]=b[i]*b[i];
StringGrid3->Cells[0][i]=IntToStr(a[i]);
StringGrid4->Cells[0][i]=IntToStr(b[i]);
}
2.3 Согласно варианту задания задать бинарное отношение на множествах а и в в виде матрицы отношений
А={40,97,10,10,12,8,9,38,92,88,}
B={60,45,56,48,85,53,70,63,20,37}
|
40 |
97 |
10 |
10 |
12 |
8 |
9 |
38 |
92 |
88 |
60 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
45 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
56 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
48 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
85 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
53 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
70 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
63 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
20 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
37 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Тип отношения:
имеют одинаковые остатки
при делении на число 4
set<int>set1;
set<int>set2;
set<int>::interator it1;
set<int>::interator it2;
int n=10,i;
void_fastcall Tform1::Button1Click(NObject*Sender)
{ AnsiString s=””;
For(i=0; i<=n; i++)
{set1.insert(StrToINt(StringGrid1->Cells[0][i+1]));
set2.insetr(StrToInt(StringGrid1->Cells[i+1][0]));
}
for(it1=set1.begin(); it1!=set1.end(); it1++)
{s=“ ”;
for(it2=set2.begin(); it2!=set2.end(); it2++)
{ if(*it1%4=*it2%4)
{ s+=1; }
else
{s+=0;}
s+=“ ”; }
Memo->Lines->Add(s); } }
2.4 Составить программу и разработать словесный алгоритм программы выполнения операции дополнения над множествами а и в.
А={40,97,10,10,12,8,9,38,92,88,}
B={60,45,56,48,85,53,70,63,20,37}
Алгоритм:
Шаг 1.
Задаем размер множества А – size_a; Задали множество А классом set – set <int> a; Задаем размер множества В – size_b Задали множество В классом set – set <int> b; Задали множество С классом set - set<int> c;
Шаг 2.
Наполняем множество А элементами в цикле Наполняем множество В елементами в цикле
Шаг 3.
Наполняем множество С элементами из множества А в цикле; Наполняем множество С элементами из множества В в цикле;
Шаг 4.
Вывод элементов множества С;
Выход.
2.4 Текст программы
//Нахождение множества (такого то) действия над множествами А и В
#include <set>
#include <iostream>
using namespace std;
int main()
{
//обьявляем необходимые переменные
int size_a, size_b, var ;
//Задаем размер множества А
cout « "Vvedite razmer mnozhestva A: ";
cin » size_a;
set <int> a;
//Задали множество А классом set
//Задаем размер множества В
cout « "Vvedite razmer mnozhestva B: ";
cin » size_b;
set <int> b;
// Задали множество В классом set
set <int> c;
// Задали множество С классом set
//выводим подсказку пользователю
cout « "------------------------" « endl;
cout « "Vvedite elementu mnozhestva A!!!" « endl « endl;
//начинаем ввод значений a[i] множества в цикле
for(int i = 0; i < size_a; i++)
{
//запрашиваем число, запоминаем его в переменную var
cout « "Vvedite " « i+1 « " element mnozhestva A: ";
cin » var ;
a.insert(var);
}
//выводим подсказку пользователю
cout « "------------------------" « endl;
cout « endl « "Vvedite elementu mnozhestva B!!!" « endl « endl;
//начинаем ввод значений b[i] множества в цикле
for(int i = 0; i < size_b; i++)
{
//запрашиваем число, запоминаем его в переменную var
cout « "Vvedite " « i+1 « " element mnozhestva B: ";
cin » var ;
b.insert(var);
}
//Задаем итератор
set <int>::iterator it;
cout « "------------------------" « endl;
// В цикле вводим элементы множества А во множество С
for(it = a.begin(); it != a.end(); ++it)
c.insert(*it);
// В цикле вводим элементы множества В во множество С
for(it = b.begin(); it != b.end(); ++it)
c.insert(*it);
cout « endl « "Mnozhestvo objedinenija mnozhestv A i B = { ";
// Вывод элементов множества С в цикле
for(ik = c.begin(); it != c.end(); ++it)
cout « *it « " ";
cout « "}" « endl;
cout « "------------------------" « endl;
system("pause");
return 0;
}