Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Petar07
2 / 2 / 1
Регистрация: 11.10.2012
Сообщений: 106
1

Программа подбора персонала

08.04.2013, 11:21. Просмотров 774. Ответов 7
Метки нет (Все метки)

Ребят, подскажите с чего тут начинать? Я не прошу написать программу))

Вот такое задание: Программа подбора сотрудников для поездки на конференцию. Для участия в конференции из коллектива сотрудников необходимо выбрать троих. Сформировать все возможные тройки.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2013, 11:21
Ответы с готовыми решениями:

Создать систему тестирования персонала
Ребята, здравствуйте все. Простите, я может пишу не по теме, но похожего ничего...

Програма подбора пароля
Помогите написать программу для подбора пароля на с++. Смысл в том, чтоб при...

Написать программу подбора автомобиля
Товарищи помогите пожалуйста с реализацией данного задание нужно написать...

Написать программу для подбора гирь
учусь на первом курсе не могу понять как написать программу, задание звучит так...

Подскажите алгоритм подбора суммы простых чисел
Задание такое - проверить возможно ли с помощью суммы 3 простых чисел составить...

7
lemegeton
2935 / 1364 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
08.04.2013, 11:31 2
Цитата Сообщение от Petar07 Посмотреть сообщение
Ребят, подскажите с чего тут начинать? Я не прошу написать программу))
Вот такое задание: Программа подбора сотрудников для поездки на конференцию. Для участия в конференции из коллектива сотрудников необходимо выбрать троих. Сформировать все возможные тройки.
Начните с построения списка. )

Простейший вариант перебора всех возможных сочетаний без повторений из трех элементов:
C++
1
2
3
4
5
6
7
for (int i = 0; i < list.size() - 2; ++i) {
  for (int j = i + 1; j < list.size() - 1; ++j) {
    for (int k = j + 1; k < list.size(); ++k) {
      std::cout << list[i] << " + " << list[j] << " + " << list[k] << std::endl;
    }
  }
}
Для N элементов будет довольно сложный алгоритм пермутаций.
1
Petar07
2 / 2 / 1
Регистрация: 11.10.2012
Сообщений: 106
08.04.2013, 11:42  [ТС] 3
Цитата Сообщение от lemegeton Посмотреть сообщение
Начните с построения списка. )

Простейший вариант перебора всех возможных сочетаний без повторений из трех элементов:
C++
1
2
3
4
5
6
7
for (int i = 0; i < list.size() - 2; ++i) {
  for (int j = i + 1; j < list.size() - 1; ++j) {
    for (int k = j + 1; k < list.size(); ++k) {
      std::cout << list[i] << " + " << list[j] << " + " << list[k] << std::endl;
    }
  }
}
Для N элементов будет довольно сложный алгоритм пермутаций.


Так значит если их будет человек 15, это уже проблематично?
0
lemegeton
2935 / 1364 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
08.04.2013, 11:53 4
Да не то, чтобы... Понадобится алгоритм, создающий пермутации без повторений.
0
Petar07
2 / 2 / 1
Регистрация: 11.10.2012
Сообщений: 106
14.04.2013, 23:01  [ТС] 5
а список нужно создать просто в блокноте?
0
lemegeton
2935 / 1364 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
15.04.2013, 00:28 6
Цитата Сообщение от Petar07 Посмотреть сообщение
а список нужно создать просто в блокноте?
Да где вам задали, там и создавайте.
Может, можно просто
C++
1
2
3
4
std::vector<std::string> list;
list.push_back("Ivan Ivanov");
list.push_back("Petr Petrov");
/* и т.д. */
1
Petar07
2 / 2 / 1
Регистрация: 11.10.2012
Сообщений: 106
19.04.2013, 22:43  [ТС] 7
Нужно список взять из текстового документа, как это можно организовать?
0
lemegeton
2935 / 1364 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
20.04.2013, 15:38 8
Цитата Сообщение от Petar07 Посмотреть сообщение
Я не прошу написать программу))
Мог бы сразу попросить программу.

Без хитрых потоков.
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
 
 
int main(int argc, char *argvp[]) {
  std::vector<std::string> names;
 
  std::ifstream input("names.txt");
 
  while (!input.eof()) {
    std::string line;
    std::getline(input, line);
    if (line.size() > 0) { // отсекание пустой строки
      names.push_back(line);
    }
  }
  
  for (size_t i = 0; i < names.size() - 2; ++i) {
    for (size_t j = i + 1; j < names.size() - 1; ++j) {
      for (size_t k = j + 1; k < names.size(); ++k) {
        std::cout << "'" << names[i] << "' + '" <<
          names[j] << "' + '" << names[k] << "'" << std::endl;
      }
    }
  }
  std::cin.get();
  return 0;
}
Пример файла names.txt:
Код
Ivan Ivanov
Petr Petrov
Vasiliy Vasilyev
Semen Semenov
Anna Annovna
1
20.04.2013, 15:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2013, 15:38

Генетический алгоритм подбора максимума/минимума разных функций
Собсно, вот: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt;...

Найти все варианты возможной замены проводов с заданной точностью подбора
Проверить код и указать ошибки Доброго всем времени суток!Пожалуйста,кому не...

Отсортировать элементы одномерного массива по возрастанию, используя метод прямого подбора
Составить программу, позволяющую отсортировать элементы одномерного массива по...


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

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

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