Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТС.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
32.28 Кб
Скачать

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;

}