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

Заданы два множества точек на плоскости. Построить пересечения и разность множеств - C++

Восстановить пароль Регистрация
 
Mili
 Аватар для Mili
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 22
01.07.2014, 19:16     Заданы два множества точек на плоскости. Построить пересечения и разность множеств #1
начало примерно такое ,на мой взгляд должно быть, а вот со второй частью програмки возникает большая проблема.... Помогите...
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
#include "stdafx.h"
#include <iostream>
using namespace std;
int main();
 
int _tmain(int argc, _TCHAR* argv[])
{// вводим первое множество
  int n;
   cout << "vvodim kolihestvo n:";
   cin >> n;
  int *a1=new int[n];
  int i = 111;
  for(int i = 1; i <= n; i++)
    cin >> a1[i];
  for(int i = 1; i <= n; i++)
    cout <<"vivodim a1:"<< a1[i]<<endl;
 
 // вводим второе множество
    int m;
       cout << "vvodim kolihestvo m:";
       cin >> m;
      int *a2=new int[m];
      int j = 111;
      for(int j = 1; j <= m; j++)
       cin >> a2[j];
      for(int j = 1; j <= m; j++)
        cout <<"vivodim a1:" <<a2[j]<<endl;
   //создаем третье множество которое получается из разности а1 с а2
 
 
   //создаем четвёртое множество которое получается из пересечения а1 с а2
    
 
    //очистим память так как массивы были динамические 
                       delete [] a1;
              delete [] a2;
      return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 19:16     Заданы два множества точек на плоскости. Построить пересечения и разность множеств
Посмотрите здесь:

C++ Среди точек первого множества найти такую,которая принадлежит наибольшему количеству множеств.
C++ Из заданного на плоскости множества точек выбрать три различные точки
Даны два множества точек на плоскости C++
На плоскости заданы своими целочисленными координатоми n точек. Найти все возможные группы... C++
C++ Множества точек на плоскости
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
01.07.2014, 19:29     Заданы два множества точек на плоскости. Построить пересечения и разность множеств #2
1. точки имеют 2 координаты, поэтому вместо int массивы должны быть типа point,
где point структура
C++
1
2
3
4
struct point
{
   int x,y;
};
2. Пересечение - точки, которые есть в обоих множествах:
C++
1
2
3
4
5
6
7
8
9
point per=new point[n];
int ContPer=0;
for(int i=0;i<n;i++)
   if(a1[i].x==a2[i].x &&a1[i].y==a2[i].y)
   {
            per[CountPer].x=a1[i].x;
            per[CountPer].y=a1[i].y;
            CountPer++;
   }
2. Разность множеств - это точки, которые есть в одном из них, но нет в другом.
Сделайте по аналогии.
Mili
 Аватар для Mili
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 22
01.07.2014, 19:38  [ТС]     Заданы два множества точек на плоскости. Построить пересечения и разность множеств #3
Цитата Сообщение от zss Посмотреть сообщение
struct point
{
* *int x,y;
};
это для создания третьего и последующего, нового множества?

Цитата Сообщение от zss Посмотреть сообщение
2. Разность множеств - это точки, которые есть в одном, но нет в другом и наоборт.
3. Пересечение - точки, которые есть в обоих множествах.
Об этом мне известно, проблема в том что я первоначально програмировала на паскале и там было всё намного проще в плане составления и операций со множествами.
IrineK
Заблокирован
01.07.2014, 19:48     Заданы два множества точек на плоскости. Построить пересечения и разность множеств #4
Нужна структура или класс.
С заданным методом сравнения и контейнером.
Mili
 Аватар для Mili
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 22
01.07.2014, 21:50  [ТС]     Заданы два множества точек на плоскости. Построить пересечения и разность множеств #5
Почему возникает эта ошибка и как её исправить??? (очень нужна ваша помощ в этом вопросе... ведь мир не без добрых людей)
point[n] недопустимый неполный тип
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
int main();
 
int _tmain(int argc, _TCHAR* argv[])
{struct point;
int x,y;
// вводим первое множество
  int n;
   cout << "vvodim kolihestvo n:";
   cin >> n;
 point *a1=new point[n];
  int i = 111;
  for(int i = 1; i <= n; i++)
    cin >> a1[i];
  for(int i = 1; i <= n; i++)
    cout <<"vivodim a1:"<< a1[i]<<endl;
 
 // вводим второе множество
    int m;
       cout << "vvodim kolihestvo m:";
       cin >> m;
      point *a2=new point[m];
      int j = 111;
      for(int j = 1; j <= m; j++)
       cin >> a2[j];
      for(int j = 1; j <= m; j++)
        cout <<"vivodim a1:" <<a2[j]<<endl;
   //создаем третье множество которое получается из пересечения а1 с а2
      point per=new point[n];
int ContPer=0;
for(int i=0;i<n;i++)
   if(a1[i].x==a2[i].x &&a1[i].y==a2[i].y)
   {
            per[CountPer].x=a1[i].x;
            per[CountPer].y=a1[i].y;
            CountPer++;
   }
 
  
 
    //очистим память так как массивы были динамические 
          delete [] a1;
              delete [] a2;
      return 0;
}
Yandex
Объявления
01.07.2014, 21:50     Заданы два множества точек на плоскости. Построить пересечения и разность множеств
Ответ Создать тему
Опции темы

Текущее время: 23:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru