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

Алгоритм Форда - Беллмана - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не получается передать массив в функцию. http://www.cyberforum.ru/cpp-beginners/thread455209.html
#include <iostream> #define n 20 #define m 30 using namespace std; void switcher (int** arr, int a, int b); int main() { int arr;
C++ Как в с/с++ можно подсчитать количество символов, обработанных в единицу времени Добрый день, у меня такой вопрос: Допустим есть функция перебирающая большой текстовый файл и например подсчитывающая количество пробелов, или например заменяющая одни символы другими. Как можно во время работы данной функции отслеживать (записывать в переменную и выводить на экран) в реальном времени количество перебранных символов в единицу времени (за 1 сек, 5 сек, ...)? Т.е. добиться того,... http://www.cyberforum.ru/cpp-beginners/thread455205.html
Просканировать строку, и вернуть слово, если ASCII код каждой буквы этого слова четный C++
написать функцию которая сканирует строку и возвращает слово если ASCII код каждой буквы этого слова четный.Пользоваться арифмитическими операциями нельзя. Напишите пожалуйста если кто знает. Можно приблизительно. Код в чистом СИ Ps ходят слухи что для решения этой задачи нужно использывать побитовые операции. Спасибо:)
Добавление в исключения антивируса C++
Итак, есть программа, работающая с файлами (довольно активно - чтение/запись/шифрование), отправляющая их по инету в центр обработки данных (сайчас это сервер у меня на кухне - вот так работает 152 закон у нас в медицине). Но суть не в этом. При установке (Сейчас установщик -самописная программка на тех же С++, копирующая файлы и создающая ярлык), антивирус (в частности microsoft security...
C++ Создать массив, каждый элемент которого является суммой строки исходной матрицы http://www.cyberforum.ru/cpp-beginners/thread455154.html
Доброго времени суток. Помогите пожалуйста с кодом. Ниже часть проги, которая создает массив2, каждый элемент которого равен сумме строки массива1. Почему в цикле if a выводит какое-то левое значение, хотя в конечном итоге arr принимает нужное значение? #include <iostream> using namespace std; void main() { const int N = 3; int a = {{1,2,3}, {1,1,1},
C++ Динамическое создание объекта класса Примерно что должно получится: #include <iostream> #include <string> using namespace std; class student { string name; public: void y () подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.03.2012, 03:16     Алгоритм Форда - Беллмана
Цитата Сообщение от Niсe Посмотреть сообщение
Не могу понять сколько раз можно проходить через петлю, ведь если она отрицательная, то это все равно что и отрицательный цикл
все правильно. Остается надеется, что:
Цитата Сообщение от Niсe Посмотреть сообщение
В графе могут быть петли и/или дуги отрицательного веса.
словосочетание "отрицательного веса" относится только к дугам.
А вообще, условие немного кривоватое:
Цитата Сообщение от Niсe Посмотреть сообщение
Требуется найти расстояние от первой вершины до всех остальных.
Правильно будет:
Требуется найти минимальное расстояние от первой вершины до всех остальных.
Пробуйте так сдавать:
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
#include <iostream>
#include <vector>
using namespace std;
const int inf = 1555555555;
struct edge {
    int a, b, cost;
};
 
int n, m, v, i;
vector<edge> e;
void solve() {
    vector<int> d (n, inf);
    d[0] = 0;
    for (;;) {
        bool any = false;
        for (int j=0; j<m; ++j)
            if (d[e[j].a] < inf)
                if (d[e[j].b] > d[e[j].a] + e[j].cost) {
                    d[e[j].b] = d[e[j].a] + e[j].cost;
                    any = true;
                }
        if (!any)  break;
    }
    for(int i=1; i<n; i++)
        if(d[i]<inf)
            cout<<d[i]<<endl;
        else
            cout<<"NO"<<endl;
    
}
 
int main(){
    cin>>n>>m;
    edge t;
    for(i=0; i<m; i++)
    {
        cin>>t.a>>t.b>>t.cost;
        t.a--; t.b--;
        e.push_back(t);
    }
    solve();
    return 0;
}
 
Текущее время: 01:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru