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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ренатка
1 / 1 / 0
Регистрация: 29.12.2011
Сообщений: 67
#1

Алгоритмы обхода графов. Вычислить среднюю плотность графа как частное от деления количества его ребер на число вершин - C++

03.06.2013, 11:54. Просмотров 491. Ответов 0
Метки нет (Все метки)

тема: Алгоритмы обхода графов
задание: На базе функции обхода реализуйте функцию обхода с дополнительной возможностью:
- вычислите среднюю плотность графа как частное от деления количества его ребер на число вершин.

помогите пожалуйста, мозги совсем уже не работают! последняя задача на зачет!!


есть: код с функцией, реализующей обход графа в глубину.
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
#include <iostream>
#include <iomanip>
using namespace std;
 
void DFS(int n, int **Graph, bool *Visited, int Node){
  Visited[Node] = true;
  cout <<"V"<< Node<< "; ";
  for (int i = 0 ; i < n ; i++)
    if (Graph[Node][i] && !Visited[i])
      DFS(n,Graph,Visited,i);
}
 
int main ()
      {
        int matrix [8][8]={ 0,0,0,1,0,0,0,0,
                      0,0,0,1,0,0,1,0,
                      1,1,0,0,1,0,0,0,
                      0,0,0,0,0,0,0,1,
                      0,0,0,0,0,0,0,1,
                      0,0,0,0,0,0,0,0,
                      0,0,1,0,1,1,0,0,
                      0,0,0,0,0,0,1,0,
 };        
      int* matrix2[8];
      for(int i = 0; i <8; ++i)
              matrix2[i] = matrix[i];        
        
      bool v[] = {false};
                      
      cout<<"Matrica smezhnosti:"<<endl;                   
        
        for(int i=0; i<8; i++)  
           {
           for (int j=0; j<8; j++)
               {
               cout<<matrix[i][j]<<" ";
               }                      
               cout<<endl;
           }
        
        cout<<endl;
        cout<<"Spisok smezhnosti:"<<endl;
        
        for(int i=0; i<8; i++)  
           {
                   cout<<"V"<<i<<": ";
                   for (int j=0; j<8; j++)
                   {
                       if (matrix[i][j]==1)
                       cout<<j<<"; ";
                   }
                   cout<<endl;
           }
  cout << endl << endl;
  DFS(8, matrix2, v, 0);
  cout << endl;
  system ("pause");
  }
Добавлено через 39 секунд
хоть какие-нибудь подсказки!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 11:54     Алгоритмы обхода графов. Вычислить среднюю плотность графа как частное от деления количества его ребер на число вершин
Посмотрите здесь:

Смежность и инцидентность ребер и вершин в графе. C++
C++ Варианты обхода графа
C++ Как найти частное от деления?
C++ Методы обхода графов
C++ Методом обхода в глубину определить число компонент связности и цикломатическое число графа
Напишите алгоритм вывода списка ребер неориентированного графа C++
C++ Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер
C++ Найти площадь многоугольника, заданного перечислением координат вершин в порядке обхода его границы
C++ Вычислить количество различных путей между всеми парами вершин графа
Вычислить частное от деления суммы четных элементов на сумму нечетных C++
Определить среднюю плотность населения по области в целом C++
Как вычислить цикломатическое число графа? C++

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru