Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/42: Рейтинг темы: голосов - 42, средняя оценка - 4.98
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 92
1

Выполнить операции над множествами (объединение, пересечение, разницу)

09.09.2012, 21:37. Показов 8072. Ответов 15
Метки нет (Все метки)

над множествами 1 и 2 выполнить - объединение ,пересечение , разницу mnoj1\mnoj2 и mnoj2\mnoj1(ну ещё дополнение mnoj1 и mnoj2 до универсального , но хотелось бы после того как увижу помощь самому дойти)
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
try
{
            Console.WriteLine("Лабораторная работа №{0}", 1);
            Console.WriteLine("Работа с множествами");
            int[] mnoj1 = new int[] {-7,-5,2} ;
            int[] mnoj2 = new int[] { -3, 0, 1 };
            int[] mnoj_univer=new int[] {-7,-5,-3-0-1-2};
 
 
 
 
 
 
            Console.ReadLine();
}
catch {
Console.WriteLine(Error);
}
        }
    }
}
насколько я понял нужно использовать цикл for но вот как=) так и не понял
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2012, 21:37
Ответы с готовыми решениями:

Выполнение основных операций (объединение, пересечение, разность, дополнение до заданного универсума) над множествами
Написать программу, которая позволяет выполнить основные операции (объединение, пересечение,...

Операции над множествами
Как реализовать стандартные операции объединение, пересечение и разность над множествами без...

Реализовать операции над множествами: объединение, пересечение, разность
Модуль. Разработать способ представления множеств, содержащих более 255 элементов. Реализовать...

Реализовать базовые операции над множествами: объединение, пересечение, дополнение
Вот как звучит задание: "Объект: множество символов алфавита. Реализовать базовые операции над...

15
11 / 11 / 4
Регистрация: 14.09.2009
Сообщений: 134
09.09.2012, 22:29 2
цикл for просто если в vs работаешь пишешь for и нажимаешь 2 раза таб
цикл вот как работает на моем примере:
фор как бы состоит из 3 частей :
1) объявляем переменные , там где int i = 0, до точки запятой.
2) затем условие оно должно быть true, иначе цикл завершается, до след точки запятой.
3)и последняя часть, инкрементации, или своё что то к примеру i +=100, если объявлены свои переменные свои условия увеличения ,иначе делаешь все в теле цикла.
ПРИМЕР
C#
1
2
3
4
5
 for (int i = 0; i < n; i++)
            {
//тту некий код твой
        Console.WriteLine(i);
            }
Перебор массива будет выглядеть так:
C#
1
2
3
4
for (int i = 0; i < mnoj1.Length; i++) //где ленгз будет длина массива а вообще F9 на этой строчке и //смотри что там получается в режиме отладки.не получается проходи по шагово, надо //посмотреть значение Shift+F9
            {
                
            }
1
554 / 508 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
09.09.2012, 22:45 3
объединение:
C#
1
var objed = mnoj1.Union(mnoj2);
пересечение:
C#
1
var perese4 = mnoj1.Intersect(mnoj2);
и далее по тексту.
0
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 92
09.09.2012, 23:04  [ТС] 4
Только начал изучение , и вот до сих пор не могу понять приминение length
0
554 / 508 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
09.09.2012, 23:11 5
Цитата Сообщение от Dota_pro_Stalk Посмотреть сообщение
Только начал изучение , и вот до сих пор не могу понять приминение length
а как обстоит с применением int?
0
11 / 11 / 4
Регистрация: 14.09.2009
Сообщений: 134
09.09.2012, 23:35 6
Цитата Сообщение от Dota_pro_Stalk Посмотреть сообщение
Только начал изучение , и вот до сих пор не могу понять приминение length
length это длинна( массива, строки..) то есть, сколько содержится элементов/символов.





Цитата Сообщение от novi4ok Посмотреть сообщение
а как обстоит с применением int?
на int нажми в visual studia F12,а что именно тебя интересует?!
1
Миниатюры
Выполнить операции над множествами (объединение, пересечение, разницу)  
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 92
10.09.2012, 11:34  [ТС] 7
C#
1
2
                Console.WriteLine(objed);
                Console.WriteLine(perese4);

выдаёт в консоли

System.Linq.Enumerable+<unionIteration>d__88'1[System.Int32]
System.Linq.Enumerable+<intersectIterator>D__92'1[System.int32]

что это , и почему не выводится сам массив
0
Эксперт Java
4075 / 3809 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
10.09.2012, 11:44 8
Цитата Сообщение от Dota_pro_Stalk Посмотреть сообщение
что это , и почему не выводится сам массив
Это вывод метода ToString() тех объектов, которые ты передал.
Почему не выводится сам массив - потому что ты передаешь не массив.(objed и perese4 - не массивы)

Скорее всего тебе нужно вывести не массив, а все элементы массива.
C#
1
2
3
4
foreach (var elem in objed)
   Console.WriteLine(elem);
foreach (var elem in perese4)
   Console.WriteLine(elem);
0
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 92
10.09.2012, 11:51  [ТС] 9
A Сами элементы массива?

Добавлено через 22 секунды
ну как вывести в смысле их

Добавлено через 2 минуты
что то вроде
C#
1
2
foreach (var elem in mnoj1)
Console.WriteLine(elem);
0
Эксперт Java
4075 / 3809 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
10.09.2012, 12:08 10
Цитата Сообщение от Dota_pro_Stalk Посмотреть сообщение
ну как вывести в смысле их
Вы мое сообщение прочитали? Я же привел пример.
1
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 92
10.09.2012, 12:14  [ТС] 11
Теперь люди такой вопрос , как вывести булеан , если вобще кто знаком с такой вещью , Мне нужно получить булеан mnoj1
0
Эксперт Java
4075 / 3809 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
10.09.2012, 12:23 12
Цитата Сообщение от Dota_pro_Stalk Посмотреть сообщение
как вывести булеан , если вобще кто знаком с такой вещью
остается только гадать, что же конкретно вы подразумеваете под этими 6-ю буквами (булеан).

Если вы не в курсе, в c# есть тип boolean, который может принимать только 2 значения: true и false.
0
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 92
10.09.2012, 12:53  [ТС] 13
Если кому интересно - вот полное решение(за исключением булеана)
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Лабораторная работа №{0}", 1);
                Console.WriteLine("Работа с множествами");
                int[] mnoj1 = new int[] { -7, -5, 2 };
                int[] mnoj2 = new int[] { -3, 0, 1 };
                int[] mnoj_univer = new int[] { -7, -5, -3, 0, 1,  2 };
 
 
                Console.WriteLine(" ");Console.WriteLine(" ");Console.WriteLine(" ");
 
                Console.WriteLine("Union");
                var objed = mnoj1.Union(mnoj2);
                foreach (var elem in objed)
                    Console.WriteLine(elem);
 
                Console.WriteLine(" ");
                Console.WriteLine(" ");
                Console.WriteLine(" ");
 
                Console.WriteLine("perese4");
                try
                {
                    var perese4 = mnoj1.Intersect(mnoj2);
                    foreach (var elem in perese4)
                        Console.WriteLine(elem);
                    Console.WriteLine("pustoe mnojestvo");
                }
                catch { Console.WriteLine("Error"); }
 
 
                Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine(" ");
 
                Console.WriteLine("A Exept B");
 
                var exept1 = mnoj1.Except(mnoj2);
                foreach (var elem in exept1)
                    Console.WriteLine(elem);
 
                Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine(" ");
 
                Console.WriteLine("B Exept A");
                var exept2 = mnoj2.Except(mnoj1);
                foreach (var elem in exept1)
                    Console.WriteLine(elem);
 
                Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine(" ");
 
                Console.WriteLine("exept union");
                var exe_union = exept1.Union(exept2);
                foreach (var elem in exe_union)
                    Console.WriteLine(elem);
 
                Console.WriteLine("dopolnenie mnoj1");
                var dopol1 = mnoj_univer.Except(mnoj1);
                foreach (var elem in dopol1)
                    Console.WriteLine(elem);
 
 
                Console.WriteLine("dopolnenie mnoj2");
                var dopol2 = mnoj_univer.Except(mnoj2);
                foreach (var elem in dopol2)
                    Console.WriteLine(elem);
 
                Console.ReadLine();
            }
            catch
            {
                Console.WriteLine("Error");
            }
        }
    }
}
Добавлено через 25 минут
Цитата Сообщение от turbanoff Посмотреть сообщение
остается только гадать, что же конкретно вы подразумеваете под этими 6-ю буквами (булеан).

Если вы не в курсе, в c# есть тип boolean, который может принимать только 2 значения: true и false.
В Дискретной математике существует такое понятие как булеан множества , вот его то мне и надо вывести
т.е. B(mnoj1)={{-7-5,2},{-7-5},{-7,2},{-5,2},{-7},{-5},{2}}ну + пустое множество

Добавлено через 2 минуты
C#
1
2
3
4
5
6
7
var powerSet = PowerSet(mnoj1);
                foreach (var subset in powerSet)
                {
                    foreach (var element in subset)
                        Console.Write("{0} ", element);
                    Console.WriteLine();
                }
Вот что я хотел
1
0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 4
27.11.2020, 13:33 14
А не могли бы вы пожалуйста отправить полную рабочую программу? Как раз задали это задание, спасибо большое!

Добавлено через 1 минуту
Dota_pro_Stalk, А не могли бы вы пожалуйста отправить полную рабочую программу? Как раз задали это задание, спасибо большое!
0
управление сложностью
1684 / 1296 / 260
Регистрация: 22.03.2015
Сообщений: 7,543
Записей в блоге: 5
27.11.2020, 13:44 15
NotProgram, теме 8 лет, последний раз он был тут 5 лет назад. чего вы ждете ?
0
0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 4
27.11.2020, 13:46 16
Почтальон, Я к сожалению тут не частый гость, и толком не разобралась как у вас тут все работает.
А вы же как то ответили, может найдется тот, кто поможет..
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2020, 13:46

Реализовать классические операции над множествами - объединение, пересечение и симметричная разность
Создать параметризованный тип данных - множество. Этот тип предназначен для хранения множества...

Операции с нечеткими множествами(объединение, пересечение, дополнение, разность) [SWI Prolog]
Помогите пожалуйста сделать операции над нечеткими множествами в swi-prolog (объединение,...

Выполнить логические операции над множествами, записанными в файлы
Помогите пожалуйста написать программу на C++ Дано 3 множества А, В, С. Элементы множеств...

Осуществить все операции над элементами множеств: пересечение, объединение, ...
Привет всем. Помогите найти ошибку в коде. Задание такое: Программа позволит осуществить все...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.