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

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

14.10.2013, 11:40. Показов 13962. Ответов 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
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2013, 11:40
Готовые ответы и решения:

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

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

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

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

3
14.10.2013, 11:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2013, 11:40
Помогаю со студенческими работами здесь

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

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

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

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru