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

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

Восстановить пароль Регистрация
 
Юлия_nev
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 24
01.07.2014, 23:03     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу #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
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 23:03     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу
Посмотрите здесь:

Даны два множества точек на плоскости C++
C++ Множества точек на плоскости
C++ Задано множество точек в трехмерном пространстве. Найти минимум радиусов шаров с центрами в этих точках, содержащих ровно n точек этого множества
C++ Шаблон класса должен давать возможность вывести все элементы множества на экран, сложение, вычитание, осуществлять пересечение множеств
C++ Объединение, пересечение, разность, симметрическая разность множеств
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
02.07.2014, 00:21     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
может начать как-то так?

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
#include <iostream>
 
using namespace std;
 
struct Point{
    int x; // координата х
    int y; // координата y
};
 
void setpoint(Point &p){
    cout << "Vvod to4ki: ";
    cin >> p.x;
    cin >> p.y;
}
 
void printpoint (const Point &p){
    cout << p.x <<" , " << p.y <<endl;
}
 
void setn(int &n){
    n=-1;
    cout << "vvodim kolihestvo n:";
    while (n<=0)
        cin >> n;
}
void setset(Point *p, int n){
    for(int i = 0; i < n; i++)
        setpoint(p[i]);
}
 
void printset(const Point *p, int n){
    for (int i=0; i<n; ++i)
        printpoint(p[i]);
}
 
int main()
{
    /// вводим первое множество
    int n;
    setn(n);
    Point *a1=new Point[n];
    setset(a1,n);
    printset(a1,n);
    delete [] a1;
    return 0;
}
Alex5
881 / 616 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
02.07.2014, 00:39     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Юлия_nev Посмотреть сообщение
//создаем третье множество которое получается из пересечения а1 с а2
C++
1
2
3
4
5
Для каждого a1[i] проверим найдётся ли какое-нибудь j, такое что  a1[i] совпадает с a2[j].
// ... 
Такое a1[i] добавим в per[].
//...
/* При этом i не обязано равняться j. */
Цитата Сообщение от Юлия_nev Посмотреть сообщение
C++
1
2
point *a1=new point[n];
for(int i = 1; i <= n; i++)
Индексы изменяются от 0 до n-1.
Юлия_nev
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 24
02.07.2014, 00:47  [ТС]     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу #4
спасибо большое всем за помощь, но увы мне уже не чем не помочь через 3 часа мне следует получить допуск по этому заданию... что к сажелению не произойдёт так как и так уже 12 часов попыток... прошли даром.... у меня не чего не работает.... спасибо всем большое за то что были со мной я очень ценю вашу помощь... мир действительно не без добрых людей... ещё раз спасибо
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
02.07.2014, 10:02     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу #5
Юля, вы в следующий раз или раньше начинайте спрашивать или сразу идите в раздел платной помощи, просто тут помогают не так быстро И еще, задаа не такая простая, если не использовать STL.
Yandex
Объявления
02.07.2014, 10:02     Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу
Ответ Создать тему
Опции темы

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