Меню
Главная
Авторизация/Регистрация
 
Главная arrow Математика, химия, физика arrow Елементи теорії множин

Елементи теорії множин


Тема: Множини та операції над ними

Мета: навчитись оперувати множинами, виконувати над ними операції за допомогою засобів ЕОМ.

Завдання

теорія множин елемент

Побудувати матрицю відношення R=[(a,b),(a,e),(b,d),(d,e),(e,d)], заданого на множині [a,b,c,d,e].

Відповідь:

Код програми:

private void button2_Click(object sender, EventArgs e)

{

//основні та допоміжні змінні

byte[] t = new byte[256]; //буфер зчитування

Stek mass1 = new Stek(); //стек вхідної множини

Stek mass2 = new Stek(); //стек результатів

string s2;

//задати шлях до директорії виведення

FolderBrowserDialog folder = new FolderBrowserDialog();

folder.ShowDialog();

//відкрити для зчитування вхідних даних

FileStream fr = File.OpenRead(fileRoad.FileName);

//згенерувати шлях до файла виведення

string roadW = folder.SelectedPath + textBox1.Text + ".txt";

//створити файл для виведення

TextWriter fw = new StreamWriter(roadW);

//пошук першої множини

while (Encoding.ASCII.GetString(t, 0, 1) != "{")

{fr.Read(t, 0, 1);}

//запис першої множини в стек

while (Encoding.ASCII.GetString(t, 0, 1) != "}")

{

s2 = "";

fr.Read(t, 0, 1);

while (Encoding.ASCII.GetString(t, 0, 1) != "," && Encoding.ASCII.GetString(t, 0, 1) != "}")

{

s2=s2+Encoding.ASCII.GetString(t, 0, 1);

fr.Read(t, 0, 1);

}

mass1.add(s2);

}

mass2.newS(mass1.count * mass1.count); //створити стек результатів

//пошук другої множини

while (Encoding.ASCII.GetString(t, 0, 1)!="{")

{fr.Read(t,0,1);}

// побудова матриці відношення

while (Encoding.ASCII.GetString(t, 0, 1) != "}")

{

//пошук наступної пари

while (Encoding.ASCII.GetString(t, 0, 1) != "("&& Encoding.ASCII.GetString(t, 0, 1) != "}")

{

fr.Read(t, 0, 1);

}

if (Encoding.ASCII.GetString(t, 0, 1) != "}")

{

string str1, str2;

//зчитати перший елемент пари

fr.Read(t, 0, 1);

str1 = "";

while (Encoding.ASCII.GetString(t, 0, 1) != ",")

{

str1 = str1 + Encoding.ASCII.GetString(t, 0, 1);

fr.Read(t, 0, 1);

}

int p1;

for (p1 = 1; str1 != mass1.take(p1); p1++)

{}

//зчитати другий елемент пари

str2 = "";

fr.Read(t, 0, 1);

while (Encoding.ASCII.GetString(t, 0, 1) != ")")

{

str2 = str2 + Encoding.ASCII.GetString(t, 0, 1);

fr.Read(t, 0, 1);

}

int p2;

for (p2 = 1; str2 != mass1.take(p2); p2++)

{}

mass2.replase((p1-1)*mass1.count+p2,"1");

}

}

int doz = 0;

string ts = "";

for (int y = 1; y <= mass1.count*mass1.count; y++)

{

ts = ts+mass2.take(y)+" ";

doz++;

if (doz == mass1.count) { doz = 0; fw.WriteLine(ts); ts = ""; }

}

fw.Close();

}

Виконання програми:

Вхідний файл:

Вихідний файл:

Висновок

Я ознайомився з елементами теорії множин, операціями над множинами, властивостями відношень і реалізацію операцій над множинами засобами мови C++.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
 
Предметы
Банковское дело
Бухучет и аудит
География
Журналистика
Информатика
История
Культурология
Литература
Маркетинг
Математика, химия, физика
Медицина
Менеджмент
Недвижимость
Охрана труда
Педагогика
Политология
Право
Психология
Религиоведение
Сельское хозяйство
Социология
Спорт
Техника
Товароведение
Философия
Финансы
Экология
Экономика
Этика и эстетика
Прочее