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

про множества - C++

Восстановить пароль Регистрация
 
wazaabi
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
10.07.2011, 13:32     про множества #1
не понимаю как решить задачу решите если не трудно заранее спасибо.

На плоскости задано n множеств по m точек в каждой. Среди точек первого множества найти такую, которая принадлежит наибольшему количеству множеств.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 13:32     про множества
Посмотрите здесь:

про линковку и про исключения C++
Множества. Проверка множества на наличие элемента в нем C++
Множества. Вычислить количество элементов множества Q, связанного c исходными множествами C++
C++ Удалить из множества А минимальный элемент множества В
C++ Число изъять из множества А, если оно является элементом множества А, но не является элементом множества В
Множества . Найти разность полученного множества с заданным C++
Квадрат с вершинами из первого множества накрывает все точки второго множества и имеет минимальную площадь C++
C++ Сформировать два множества, первое содержит все простые числа из данного множества, второе - все составные

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
10.07.2011, 13:42     про множества #2
Точки, небось заданы парой координат?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.07.2011, 15:20     про множества #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
#include <iostream>
#include <functional>
#include <algorithm>
#include <ctime>
#include <cstdlib>
 
typedef std::pair<int, int>               T_pair;
typedef std::vector<std::vector<T_pair>>  T_sets;
 
bool operator== (const T_pair &one, const T_pair &two){
  return one.first == two.first && one.second == two.second;
}
 
size_t cnt(const T_sets &_s, const T_pair &_p){
  size_t  c = 0;
  for(auto &x : _s)
    if(std::find(x.begin(), x.end(), _p) != x.begin()) ++c;
  return c;
}
 
int main(){
  srand(time(0));
  int n, m;
  std::cin >> n >> m;
  T_sets  sets(n, std::vector<T_pair>(m));
  for(auto &x : sets)
    std::generate_n(x.begin(), m, []() -> T_pair{
      return std::make_pair(rand() % 20 - 11, rand() % 20 - 11);
    });
  T_pair  res = *std::max_element(sets[0].begin(), sets[0].end(), [&](const T_pair &one, const T_pair &two){
                    return cnt(sets, one) < cnt(sets, two);
                });
  std::cout << "A(" << res.first << ';' << res.second << ')';
  return 0;
}
Yandex
Объявления
10.07.2011, 15:20     про множества
Ответ Создать тему
Опции темы

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