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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Юлия_nev
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 24
#1

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

01.07.2014, 23:03. Просмотров 864. Ответов 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
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 23:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу (C++):

Заданы два множества точек на плоскости. Построить пересечения и разность множеств - C++
начало примерно такое ,на мой взгляд должно быть, а вот со второй частью програмки возникает большая проблема.... Помогите...:( #include...

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

Найти пересечение, объединение, разность, симметрическую разность множеств - C++
Задание: Написать программу, которая проделывается операции над множествами (пересечение, объединение, разность, симметрическую разность) ...

Объединение, пересечение, разность, симметрическая разность множеств - C++
Составить множество А из букв фамилии, множество В – из букв имени, множество С – из букв отчества (повторяющиеся элементы удалить). Найти:...

Объединение, пересечение, разность множеств - C++
Это вполне стандартный алгоритм,может есть у кого готовый? Объединение, пересечение, разность множеств. Поверка на включение одного...

Объединение, пересечение, разность множеств - C++
#include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;math.h&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
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;
}
1
Alex5
1052 / 715 / 105
Регистрация: 12.04.2010
Сообщений: 1,818
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.
1
Юлия_nev
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 24
02.07.2014, 00:47  [ТС] #4
спасибо большое всем за помощь, но увы мне уже не чем не помочь через 3 часа мне следует получить допуск по этому заданию... что к сажелению не произойдёт так как и так уже 12 часов попыток... прошли даром.... у меня не чего не работает.... спасибо всем большое за то что были со мной я очень ценю вашу помощь... мир действительно не без добрых людей... ещё раз спасибо
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
02.07.2014, 10:02 #5
Юля, вы в следующий раз или раньше начинайте спрашивать или сразу идите в раздел платной помощи, просто тут помогают не так быстро И еще, задаа не такая простая, если не использовать STL.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 10:02
Привет! Вот еще темы с ответами:

Объединение, пересечение и разность множеств с помощью оператора SWITCH - C++
Помогите пожалуйста написать программу объединение,пересечение и разность множеств с помощью оператора SWITCH ....ввод элементов с...

Дано множество точек на плоскости, заданных полярными координатами. Получить декартовы координаты этих точек - C++
Получилось сделать для координаты одной точки, а как сделать для множества точек, через цикл или массив? #include &lt;stdio.h&gt; #include...

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

Задано множество точек в трехмерном пространстве. Найти минимум радиусов шаров с центрами в этих точках, содержащих ровно n точек этого множества - C++
Задано множество точек в трехмерном пространстве. Найти минимум радиусов шаров с центрами в этих точках, содержащих ровно n точек этого...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.07.2014, 10:02
Ответ Создать тему
Опции темы

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