Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Builder Алгоритм шифрования Здравствуйте, посоветуйте алгоритм шифрования, которым можно в билдере зашифровать, а на PHP расшифровать. Но чтобы en/de coding происходил только при наличии ключа (например RSA, но я не нашел... поверьте, если набрать в Поиске данного форума RSA и выбрать "искать для С++ Builder", то хороших примеров найдется достаточно https://www.cyberforum.ru/ cpp-builder/ thread976350.html C++ Builder StringToColor https://www.cyberforum.ru/ cpp-builder/ thread976458.html
Есть combobox с такими вот данными http://rghost.ru/49351603/image.png Создал обработчик клика что бы менялся цвет после выбора void __fastcall TForm6::CSeries1Click(TObject *Sender) { String...
C++ Builder AlphaSkins https://www.cyberforum.ru/ cpp-builder/ thread976685.html
Здравствуйте, когда отключаю использование рантайм пакетов, начинает просить: Fatal: Unable to open file 'ACNTBUILDERXE4.LIB' где его взять?
C++ Builder Форма авторизации Помогите настроить форму авторизации. Сам код проверки нажатия на кнопку, вписываешь пароль и если правильно то открывает новое окно, нет ничего не происходит. https://www.cyberforum.ru/cpp-builder/thread916574.html https://www.cyberforum.ru/ cpp-builder/ thread976541.html
C++ Builder Знаю,что должен сам знать, но ПОмогите пожалуйста.кто может, поясните хотя бы кратно,какая строчка за что отвечает
//--------------------------------------------------------------------------- #include <vcl.h> #include <dstring.h> #pragma hdrstop #include <dir.h> #include <fstream.h> #include "Unit1.h"... Миха7814, а вас видимо больше волнует мнение препода чем знание языка.
C++ Builder получение письма https://www.cyberforum.ru/ cpp-builder/ thread976209.html
как принять письмо с помощью протокола pop3!!! Проект My Mail Agent
Функцию из mathcad переделать в c++ C++ Builder
необходимо mathcadовский код переделать на язык c++ (картинка ниже) благодарю за помощь всё отлично работает
C++ Builder Управление чужой exe
Хочу задать вопрос по поводу того как можно к своему проекту подключить чужую ехе программу на делпфи, а затем вызвать с нее формы или выполнять другие процедуры, допустим в ехе есть пять форм как... вызвать форму №5 из сторонней ехе Примерно так же, как расплатиться чужой кредиткой. Легально - никак.
C++ Builder Не запускается программа на C++ Builder 6 https://www.cyberforum.ru/ cpp-builder/ thread976346.html
Написал простенькую программу по расчету силы тока на C++ Builder 6. Программа успешно компилируется, собирается. Но не запускается (по нажатию F9). Помогите, пожалуйста. Заранее спасибо ...
C++ Builder метод деления пополам написал функцию для нахождения корня уравнения, но работает некоректно. Должно выводить 1,884 при границах и e=0.0001 (проверено на mathcad) float a,b,e,z,f,x,y; a=StrToFloat(Edit1->Text);... while (abs(b-a)>e) { x=(a+b)/2; if (pow(x,7)-2*pow(x,6)+7*x-8>e) b=x; else a=x; } Form1->Label1->Caption=FloatToStr(x); ? https://www.cyberforum.ru/ cpp-builder/ thread976856.html
C++ Builder Два нюанса по работе в визуальном дизайнере и в редакторе кода https://www.cyberforum.ru/ cpp-builder/ thread976340.html
1. На некоторых видеороликах, демонстрирующих работу в C++ Builder XE-XE4 видел как добавляют компоненты на форму, используя комбинацию горячих клавиш, которая вызывает появление списка всех... Еще похожая тема https://www.cyberforum.ru/cpp-builder/thread836317.html
C++ Builder Программа с использованием массивов или разнотипных структур в Borland C++ Builder 6 https://www.cyberforum.ru/ cpp-builder/ thread976664.html
Составить программы для ввода и вывода данных о программном обеспечении ПК: название пакета, объем памяти для установки на жестком диске, необходимый объем оперативной памяти для работы пакета,...
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 20
0

Векторы. Венгерский алгоритм - C++ Builder - Ответ 5180170

14.10.2013, 11:40. Показов 14127. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется следующий код для решения задачи о назначениях, отрытый на просторах интернета :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* Венгерский алгоритм.
 * Даниил Швед, 2008. danshved [no-spam] gmail.com
 * Реализация навеяна псевдокодом А.С.Лопатина из книги
 * "Оптимизация на графах (алгоритмы и реализация)".
 */
#include <vector>
#include <limits>
using namespace std;
 
typedef pair<int, int> PInt;
typedef vector<int> VInt;
typedef vector<VInt> VVInt;
typedef vector<PInt> VPInt;
 
const int inf = numeric_limits<int>::max();
 
/*
 * Решает задачу о назначениях Венгерским методом.
 * matrix: прямоугольная матрица из целых чисел (не обязательно положительных).
 *         Высота матрицы должна быть не больше ширины.
 * Возвращает: Список выбранных элементов, по одному из каждой строки матрицы.
 */
VPInt hungarian(const VVInt &matrix) {
   
   // Размеры матрицы
   int height = matrix.size(), width = matrix[0].size();
   
   // Значения, вычитаемые из строк (u) и столбцов (v)
   VInt u(height, 0), v(width, 0);
   
   // Индекс помеченной клетки в каждом столбце
   VInt markIndices(width, -1);
   
   // Будем добавлять строки матрицы одну за другой
   for(int i = 0; i < height; i++) {
      VInt links(width, -1);
      VInt mins(width, inf);
      VInt visited(width, 0);
      
      // Разрешение коллизий (создание "чередующейся цепочки" из нулевых элементов)
      int markedI = i, markedJ = -1, j;
      while(markedI != -1) {
         // Обновим информацию о минимумах в посещенных строках непосещенных столбцов
         // Заодно поместим в j индекс непосещенного столбца с самым маленьким из них
         j = -1;
         for(int j1 = 0; j1 < width; j1++)
            if(!visited[j1]) {
               if(matrix[markedI][j1] - u[markedI] - v[j1] < mins[j1]) {
                  mins[j1] = matrix[markedI][j1] - u[markedI] - v[j1];
                  links[j1] = markedJ;
               }
               if(j==-1 || mins[j1] < mins[j])
                  j = j1;
            }
            
         // Теперь нас интересует элемент с индексами (markIndices[links[j]], j)
         // Произведем манипуляции со строками и столбцами так, чтобы он обнулился
         int delta = mins[j];
         for(int j1 = 0; j1 < width; j1++)
            if(visited[j1]) {
               u[markIndices[j1]] += delta;
               v[j1] -= delta;
            } else {
               mins[j1] -= delta;
            }
         u[i] += delta;
         
         // Если коллизия не разрешена - перейдем к следующей итерации
         visited[j] = 1;
         markedJ = j;
         markedI = markIndices[j];   
      }
      
      // Пройдем по найденной чередующейся цепочке клеток, снимем отметки с
      // отмеченных клеток и поставим отметки на неотмеченные
      for(; links[j] != -1; j = links[j])
         markIndices[j] = markIndices[links[j]];
      markIndices[j] = i;
   }
   
   // Вернем результат в естественной форме
   VPInt result;
   for(int j = 0; j < width; j++)
      if(markIndices[j] != -1)
         result.push_back(PInt(markIndices[j], j));
   return result;
}
А как пользоваться этим мне не понятно. Как передать таблицу значений этим векторам ?

Вернуться к обсуждению:
Векторы. Венгерский алгоритм C++ Builder
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2013, 11:40
Готовые ответы и решения:

Венгерский алгоритм
Ребята прошу Вашей помощи, нужен исходник Венгерского алгоритма на C#

Задача коммивояжера венгерский алгоритм
Составить программу решения “задачи коммивояжера”. Необходимо определить минимальную стоимость проезда коммивояжера по N городам с...

Не считает на минимум. Венгерский алгоритм
Венгерский алгоритм. Не считает на минимум. Он изначально вроде считает верно а потом делает ошибку и стопит. Не понимаю в чем ошибка. На...

3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2013, 11:40
Помогаю со студенческими работами здесь

Венгерский алгоритм, используя дерево
Есть такая задачка: Проблема назначения формулируется так: есть n людей, назначаемых на n работ. Стоимость назначения i-человека на...

Венгерский алгоритм (задача о назначениях)
Здравствуйте. Необходимо реализовать венгерский алгоритм. Поиски в интернете ни к чему не привели. Наткнулась на псевдокод Лопатина. Но с...

Даны векторы А(5), В(5), С(5). Проверить есть ли среди них ортогональные векторы
Даны векторы А(5), В(5), С(5). Проверить есть ли среди них ортогональные векторы. Применить процедуры для ввода и вывода векторов, а...

Даны векторы А(5), В(5), С(5). Проверить есть ли среди них коллинеарные векторы
Даны векторы А(5), В(5), С(5). Проверить есть ли среди них коллинеарные векторы. Применить процедуры для ввода и вывода векторов, а...

Дан файл, компонентами которого являются n-мерные векторы. Векторы с наибольшим модулем перенести в конец файла
Дан файл, компонентами которого являются n-мерные векторы. Векторы с наибольшим модулем перенести в конец файла. Поясните пожалуйста что...

0
Новые блоги и статьи
Исследование байт-кода Python: подключаем дизассемблер
stackOverflow 19.02.2025
Многие знают, что Python - интерпретируемый язык, но мало кто задумывается о том, что происходит между написанием кода и его выполнением. На самом деле Python использует промежуточное представление. . .
Исследование байт-кода Python: компиляторы против интерпретаторов
stackOverflow 19.02.2025
Понимание байт-кода Python - основополагающий аспект для разработчиков, стремящихся глубже понять внутренние механизмы языка и оптимизировать производительность своих программ. Байт-код представляет. . .
Comprehensions в Python - что это такое?
stackOverflow 19.02.2025
Когда речь заходит о Python, одной из его самых красивых и мощных возможностей являются списковые включения или comprehensions. Это особые синтаксические конструкции, позволяющие создавать новые. . .
Python правда такой медленный? Развенчиваем миф о медлительности
stackOverflow 19.02.2025
Когда речь заходит о выборе языка программирования для нового проекта, вопрос производительности часто становится одним из ключевых факторов. Python, несмотря на свою популярность и простоту. . .
Динамические формы в Flask
stackOverflow 19.02.2025
Работа с веб-формами часто требует гибкости в отношении количества полей, которые пользователь может заполнить. Представьте ситуацию, когда вам нужно создать форму для ввода контактных данных, где у. . .
Обнаружение объектов в реальном времени на Raspberry Pi с OpenCV и Movidius NCS
stackOverflow 19.02.2025
Технология обнаружения объектов в реальном времени становится все более востребованной в различных областях - от систем безопасности до автономных транспортных средств. Особый интерес представляет. . .
где chromium хранит пароли и как их обнулить в пожарном варианте
jigi33 19.02.2025
Where is the chromium browser stores passwords for a sites где chromium-подобный браузер хранит пароли и как их обнулить в пожарном варианте (see screenshot)
howto get access to external internet resources with kinit
jigi33 19.02.2025
Решение проблемы с необходимостью доп. авторизации по Керберос для автоотработки аутентификации на прокси-сервер (see screenshot)
Отслеживание автомобилей и определение скорости с OpenCV и Python на Raspberry Pi
stackOverflow 19.02.2025
В этой статье мы рассмотрим создание системы отслеживания транспортных средств и определения их скорости с использованием компьютерного зрения и библиотеки OpenCV. Наше решение основано на принципе. . .
ENV (environments) valid paths in linux
jigi33 19.02.2025
Environments paths (see screenshot)
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru