Форум программистов, компьютерный форум CyberForum.ru

Пересечение, объединение, разность, симметрическую разность - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ запись в excel http://www.cyberforum.ru/cpp-beginners/thread105546.html
здравствуйте, подскажите, пожалуйста, как записать данные в файл формата Excel, например так: колонка 1: имя1; ; имя2 ... колонка 2: возраст1; возраст2 ... колонка 3: профессия1; профессия2 ну и так далее... Спасибо всем заранее
C++ Дан одномерный массив Помогите пожалуйста вот с этой программой 1.Дан одномерный массив, состоящий из N вещественных элементов. 2.Ввести массив с клавиатуры. 3.Найти минимальный положительный элемент. 4.Вычислить сумму четных элементов массива. 5.Вывести массив на экран в обратном порядке. http://www.cyberforum.ru/cpp-beginners/thread105541.html
объясните принцип работы цикла : ? C++
объясните принцип работы цикла : ?
Заполнить матрицу ЛП, от левого верхнего угла по спирали: вправо - вниз - влево - вверх. C++
Заполнить матрицу ЛП, от левого верхнего угла по спирали: вправо - вниз - влево - вверх.
C++ Вопрос по функциям http://www.cyberforum.ru/cpp-beginners/thread105533.html
Скажите, если у функции в заголовке прописано, что она возвращает значение int: int function(...) { ...} То могу ли я пытаться вернуть из этой функции NULL, т.е. int function(...) { ... if (...)
C++ Дан двумерный массив размером 8х7 Помогите пожалуйста вот с этой программой Дан двумерный массив размером 8х7, заполненный случайным образом. Заменить все элементы первых трех столбцов на их квадраты, в остальных столбцах изменить знак каждого элемента на противоположный. подробнее

Показать сообщение отдельно
I_like_C++
14 / 14 / 1
Регистрация: 15.03.2010
Сообщений: 126
17.03.2010, 00: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
#include <iostream>
#include <algorithm>
using namespace std;
void show(const char *s, const int *begin, const int *end)
{
cout <<s << " ";
copy(begin, end, ostream_iterator <int> (cout," " )) ;
cout<< endl;
}
int main()
{
setlocale (LC_ALL,"Russian");
int a[4] = {2, 5, 7, 9}, b[3] = { 1 , 5, 9},
Union[7], *p_union,
isect[4], *p_isect,
dif [3], *p_dif,
symdif[7], *p_symdif;
p_isect = set_intersection(a, a + 4, b, b + 3, isect);
p_union = set_union(a, a + 4, b, b + 3, Union);
p_dif = set_difference(a, a + 4, b, b + 3, dif );
p_symdif = set_symmetric_difference(a, a + 4, b, b + 3,symdif);
show("1ое множество: ", a, a + 4);
show("2ое множество: ", b, b + 3);
show("Пересечение: ", isect, p_isect);
show("Объединение: ", Union, p_union);
show("Разность: ", dif, p_dif);
show("Симметрическая разность: ", symdif, p_symdif);
 
system("pause");
return 0;
}
Помогите плз чуть переделать код=) заранее благодарю за помощь=)

Добавлено через 3 минуты
кому если надо, то вот код декартово произведения множеств=)
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
#include <iostream>
#include <vector>
using namespace std;
int main()
{ 
  setlocale(0,"Russian");
  int n,k;
  vector<int> M1;
  vector<int> M2;
   cout<<"Введите число элементов в 1ом множестве: "; cin>>n;
  cout << "\nВведите первое множество состоящее из "<<n<<" неповторяющихся элементов!\n";
  for(int i=0, t; i<n; i++)
  {
      cout<<i+1<<"-й элемент множества_1: ";cin>>t;
      M1.push_back(t);
  }
  cout<<"\nВведите число элементов в 2ом множестве: "; cin>>k;
  cout << "\nВведите второе множество состоящее из "<<k<<" неповторяющихся элементов\n";
  for(int i=0, t; i<k; i++)
  {
      cout<<i+1<<"-й элемент множества_2: ";cin>>t;
      M2.push_back(t);
  }
  cout<<"\n\n1ое множество: A= {";
  for(int i=0; i<n; i++)
                {
                    if (i==n-1) 
                    {
                        cout<<M1[i]<<"}"<<endl; break;
                    }
                    cout<<M1[i]<<" , ";
                }
                                
                cout<<"2ое множество: B= {";
  for(int i=0; i<k; i++)
                {
                    if (i==k-1) 
                    {
                        cout<<M2[i]<<"}"<<endl; break;
                    }
                    cout<<M2[i]<<" , ";
                    }
                
                cout<<"\nДекартово (прямое) произведение множеств:\nAxB= { ";
                  
  for (int i=0;i<n;i++)
  {
      for (int j=0;j<k; j++)
      {
          if ((i==n-1)&&(j==k-1))
          {
              cout<<"("<<M1[i]<<","<<M2[j]<<")";break;
          }
             cout<<"("<<M1[i]<<","<<M2[j]<<"), ";
      }
  }     
  cout<<" }\n"<<endl;                                 
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru