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

Алгорит Флойда - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Среднее значение http://www.cyberforum.ru/cpp-beginners/thread764788.html
Читаю Страуструпа.Сейчас на разделе vector.Решил написать программу которая вычесляет среднее значение с помощью vector'a.Но она не вычесляет среднее.Я уже её с книги можа сазать сказал.Всё равно не хочет. Например ввожу в скомпилированую прогу 2 6 | выдаёт на экран 6 Ввожу 4 20 3 | выдет 3. В чем ошибка? # include <iostream> # include <string> # include <vector> # include <algorithm>
C++ Обобщенное программирование Всем доброго времени суток.Помогите пожалуйста с идеями и по возможности с реализацией решения вот такой задачи: "Найти наиболее часто встречаемый элемент в последовательности целых чисел {a1, a2,...,an}".Программа должна быть с обобщенными функциями,в этом и проблема. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread764778.html
Обсудите моё задание (Страуструп Б.) Последовательности слов C++
Обсудите моё задание (Страуструп Б. Язык программирования С++. Специальное издание, 3-изд. Бином.2004) 145 ст. задание 11. //прочитайте последовательность слов из потока ввода - 1 //пусть Quit означает конец ввода - 2 //распечатайте слова в порядке их ввода - 3 //исключите из печати одинаковые слова - 4 //Отсортируйте слова перед печатью - 5
Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее одного пробела C++
Дано текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв, между соседними словами - не менее одного пробела. Напечатать все слова отличные от последнего слова, предварительно превратив каждое из них по следующему правилу: перенести последнюю букву в начало слова.
C++ Операторы выбора в С++ http://www.cyberforum.ru/cpp-beginners/thread764758.html
на фото задание {(x+y)^2-sqrt(x*y), x*y>0 a={(x+y)^2+sqrt fabs(x*y), x*y<0 {(x+y)^2+1, x*y=0 x,y вводятся
C++ Вывести матрицу в консоли Как вывести матрицу в консоли? Если не ошибаюсь в Паскале так: write (a:4); А с++ как? 1 1 1 1 1 2 3 4 4 5 6 7 2 3 4 2 подробнее

Показать сообщение отдельно
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
17.01.2013, 20:00     Алгорит Флойда
Здравствуйте, помогите пожалуйста разобраться в алгоритме Флойда, нахождение наименьших путей во взвешенном графе,

Не пойму как выводить пути,
сделала матрицу наименьших путей,

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
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "conio.h"
using namespace std;
int N;
int **Graf;
 
//Алгорит Флойда
void Floyd()
{
  for (int k = 0; k < N; ++k)
        for (int i = 0; i < N; ++i)
              for (int j = 0; j < N; ++j)
                    if (Graf[i][j] > Graf[i][k] + Graf[k][j])
                    {
                          Graf[i][j] = Graf[i][k] + Graf[k][j];
                            cout<<"!!!!"<<endl;
                            cout<<"Graf["<<i<<"]"<<"["<<j<<"]"<<endl;
                            cout<<Graf[i][j]<<endl;
                    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    int a;
    FILE *in=fopen("Graf.txt", "rt");
    fscanf(in,"%d",&N);
    
    Graf = new int*[N];
    for(int i=0;i<N;i++)
        Graf[i] = new int[N];
    //Чтение из файла
   for(int i=0;i<N;i++)
    {
     for(int j=0;j<N;j++)
      {
       fscanf(in,"%d",&Graf[i][j]);
      }
    }
    for(int i=0;i<N;i++)
    {
     for(int j=0;j<N;j++)
      {
       cout<<Graf[i][j]<<" ";
      
      } cout<<endl;
    }
    Floyd();
    //Вывод матрицы наименьших путей
    cout<<"FLOYD"<<endl;
    for(int i=0;i<N;i++)
    {
     for(int j=0;j<N;j++)
      {
       cout<<Graf[i][j]<<" ";
      
      } cout<<endl;
    }
    //запись в файл
    FILE *out=fopen("Floyd.txt", "wt");
    for(int i=0;i<N;i++)
    {
     for(int j=0;j<N;j++)
      {
        fprintf(out,"%i\t",Graf[i][j]); 
    }
        fprintf(out,"\n");
     }
     
    fclose(in);
    fclose(out);
    getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru