Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Mili
0 / 0 / 1
Регистрация: 10.01.2014
Сообщений: 22
#1

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

01.07.2014, 19:16. Просмотров 573. Ответов 4
Метки нет (Все метки)

начало примерно такое ,на мой взгляд должно быть, а вот со второй частью програмки возникает большая проблема.... Помогите...
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;
}

http://www.cyberforum.ru/cpp-beginners/thread1220958.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 19:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заданы два множества точек на плоскости. Построить пересечения и разность множеств (C++):

Даны два множества точек на плоскости
Не хотят ставить зачёт=(( Помогите, хотя бы как начать этот ужас?? Заранее...

Из множества точек на плоскости найти точки, образующие параллелограмм с наибольшим количеством точек внутри
&quot;Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры,...

На плоскости заданы окружность и множество точек
На плоскости заданы окружность и множество точек. Сколько прямых коснется...

На плоскости заданы n отрезков координатами концевых точек
На плоскости заданы n отрезков координатами концевых точек. Концы отрезков...

Множества точек на плоскости
Помогите пожалуйста решить задачу ну или объясните принцип решения. Даны 2...

4
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,184
Завершенные тесты: 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. Разность множеств - это точки, которые есть в одном из них, но нет в другом.
Сделайте по аналогии.
0
Mili
0 / 0 / 1
Регистрация: 10.01.2014
Сообщений: 22
01.07.2014, 19:38  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
struct point
{
* *int x,y;
};
это для создания третьего и последующего, нового множества?

Цитата Сообщение от zss Посмотреть сообщение
2. Разность множеств - это точки, которые есть в одном, но нет в другом и наоборт.
3. Пересечение - точки, которые есть в обоих множествах.
Об этом мне известно, проблема в том что я первоначально програмировала на паскале и там было всё намного проще в плане составления и операций со множествами.
0
IrineK
Заблокирован
01.07.2014, 19:48 #4
Нужна структура или класс.
С заданным методом сравнения и контейнером.
0
Mili
0 / 0 / 1
Регистрация: 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;
}
0
01.07.2014, 21:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 21:50
Привет! Вот еще темы с решениями:

Построить массив z размером не более 2n, где в) z = x\y (разность множеств)
Задача(5.23в): Даны значения двух целочисленных массивов x и у размером n....

На плоскости заданы своими целочисленными координатоми n точек. Найти все возможные группы...
решите в Borland C++ на плоскости заданы своими целочисленными координатоми...

На координатной плоскости заданы два треугольника координатами своих вершин
2. На координатной плоскости заданы два треугольника координатами своих вершин....

Среди точек первого множества найти такую,которая принадлежит наибольшему количеству множеств.
Мне нужно написать эту программу,я совершенно не знаю как это сделать.Знаю...


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

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

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