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

Поиск отрицательного цикла (контура) в графе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Представление из бит в байт http://www.cyberforum.ru/cpp-beginners/thread1176083.html
Вообще такая беда как представить биты в то что они были сначала,вот так я представляю байт в битах с помощью маски,а как обратно не знаю for (int i = 0; i < N; i++){ for (int j = 0, byte = buf; j < 8; byte <<= 1, j++){ byte & 0x80 ? bit = 1 : bit = 0; k++; }
C++ Подключение Dll на С++ к Java и С# Добрый день. Подскажите, пожалуйста куда копать: надо создать DLL на С++ с функциями, структурами и классом так, чтобы её потом можно было подключить к Java и С#. Как подключить её к другому С++ приложению - я понимаю. Либо статика либо хэдер, который у меня есть. А вот как это всё импортировать в Java и С# я не представляю, так как кроме обычных типов, там есть ещё и классы и структуры. ... http://www.cyberforum.ru/cpp-beginners/thread1176075.html
Неработает проверка на ввод enter C++
По логке кода, при нажатии на ентер цыкл должен оборватся, но этого не происходит, почему? char login; char pass; char fio; cout<<"Registration: \n"; cout<<"Write login (max 10 length)\n\n"; for (int i = 0; i < 9; i++)
В массиве найти элемент больше заданного, удалить каждый пятый и последние три заменить на ср. арифметическое C++
1-Дан одномерный массив Xn. Найти первый элемент массива, значение которого ,больше А. Удалить каждый пятый элемент. Последние три элемента массива заменить на значение среднего арифме-тического элементов исходного массива с четными номерами.
C++ Написать процедуру обмена столбца и строки двухмерного массива http://www.cyberforum.ru/cpp-beginners/thread1176058.html
Написать процедуру обмена столбца и строки двухмерного массива. С ее помощью поменять местами те строки и столбцы, первые элементы которых совпадают.
C++ Ошибка в создании массива объектов Есть класс Circle, в котором определены переменные для координат Х и У и радиуса окружности (здесь всё правильно, вроде бы). При компиляции на класс и реализацию компилятор не ругается (Dev-C++), а вот в основной программе массив, похоже, не создаётся. Это класс: #if !defined CIRCLE_H #define CIRCLE_H #include <iostream> using namespace std; class Circle{ private: double coordX,... подробнее

Показать сообщение отдельно
Snegovik
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 2
15.05.2014, 00:35  [ТС]     Поиск отрицательного цикла (контура) в графе
Сделал сам) Вроде как работает
C++ (Qt)
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
void Floyd(int GR[][MAXV], int parents [][MAXV], int V) {
  int checking; int p[100]; int check1=-1;
  for (int k = 0; k < V; ++k) {
   for (int i = 0; i < V; ++i)
              for (int j = 0; j < V; ++j)
                    if (GR[i][j] > GR[i][k] + GR[k][j]) {
                          GR[i][j] = GR[i][k] + GR[k][j];
                          parents[i][j] = parents[k][j];
                          checking=parents[i][j];
                          p[j]=parents[k][j];
                          if ((i==j) && (GR[i][j]<0)) {
                              check1=0;
                          }
                    }
        for (int i = 0; i < V; ++i) {
              for (int j = 0; j < V; ++j) {
                  cout <<GR[i][j]<<" ";
              } cout<<endl;
        }
        cout<<endl;
  }
  if (check1 == -1) {
      cout<<"Нет отрицательных циклов"<<endl;
 
  }
  else {
      cout <<"Есть отрицательный цикл!"<<endl;
      int y = checking;
      int ans = 0;
      for (int i=0; i<V; ++i)
              y = p[y];
 
      vector<int> path;
      for (int cur=y; ; cur=p[cur]) {
              path.push_back (cur);
              ans++;
              if (cur == y && path.size() > 1)  break;
      }
 
      reverse (path.begin(), path.end());
      cout<<"Отрицательный цикл: ";
      for (size_t i=0; i<path.size()-1; ++i)
              cout << path[i]+1 << ' ';
      cout << path[path.size()-1]+1;
  }
}
 
Текущее время: 19:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru