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

Сетевые модели. Метод Флойда - C++

Восстановить пароль Регистрация
 
shikari
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 14
28.04.2014, 20:57     Сетевые модели. Метод Флойда #1
Нужно написать программу, кто может помочь ?..
  • Сформировать матрицу заданного размера
  • Заполнить её случайными числами с учетом ограничений
  • определить кратчайший маршрут из первой вершины в последнюю
Нарисовать фрагмент сети, описываемый полученной матрицей.
  • Число вершин - 6
  • Вершина 1 связана с 2 4 5
  • Дуги несимметричные
  • Решить методом Флойда.

Добавлено через 21 час 11 минут
кто может помочь?

Добавлено через 1 час 34 минуты
Здесь 10 веришин. И вершина 1 связана с 6,8,9.
Помогите найти где описана связь
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
#include<iostream.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define word unsigned int
int i, j, n, p, xn, xk;
int flag[11];
int c[11][11];
int a[11][11];
char s[80], path[80][11];
word minim(word x, word y)
{   if(x<y) return x;
    return y;}
int main()
{int l;
    n=10;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++) c[i][j]=0;
        for(i=0;i<n;i++)
    {       for(j=0;j<n;j++)
        { c[i][j]=(rand() %20);
       if (i==j) c[i][j]=0;}}
        i=0;
        for(j=0;j<n;j++)
        { if ((i==0) && ((j==5) || (j==7) || (j==8)) ) c[i][j]=(rand() %20);    else  c[i][j]=888; }
    for(i=0;i<n;i++)
    {       printf("X%d",i+1);
        for(j=0;j<n;j++)
        {   if (i==j) c[i][j]=0;
            printf("%6d",c[i][j]);          }
        printf("\n\n");
        }cout<<endl;
for(i=0;i<n;i++)
    { cout<<endl;
        for(j=0;j<n;j++)
    { if (i==j) a[i][j]=0; else
        a[i][j]=j+1; cout<<a[i][j]<<" ";}   }
    cout<<endl;
for(l=0;l<n;l++)
{for(i=0;i<n;i++)
    {   for(j=0;j<n;j++)
 if (c[i][j]>(c[i][l]+c[l][j])) {c[i][j]=c[i][l]+c[l][j]; a[i][j]=l+1;}}}
    for(i=0;i<n;i++)
    {printf("X%d",i+1);
        for(j=0;j<n;j++)
        {printf("%6d",c[i][j]);     }
        printf("\n\n");
} cout<<endl; 
for(i=0;i<n;i++)
    { cout<<endl;
        for(j=0;j<n;j++)
    { if (i==j) a[i][j]=0; 
        cout<<a[i][j]<<" ";}    }getch();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 20:57     Сетевые модели. Метод Флойда
Посмотрите здесь:

C++ В чем ошибка? Алгоритм Флойда
C++ Сортировка всплытием Флойда
C++ алгоритм Флойда-Уоршелла
C++ Алгоритм Флойда–Уоршелла
C++ Алгоритм Флойда Оршала
Алгоритм Флойда-Уоршела C++
C++ ошибка у флойда
C++ Алгоритм Флойда-Уоршалла граф

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru