Другие языки программирования и технологии

как задать граф(любой) на языке VB и сделать так чтобы отображались матрицы смежности и инцидентности

--
- -
436
может и не в тему
Но
MustInherit Class Entry
Protected Sub New(ByVal name As String)
m_Name = name
End Sub
Private ReadOnly m_Name As String
Public ReadOnly Property Name() As String
Get
Name = m_Name
End Get
End Property
End Class
Class Directory : Inherits Entry
Public Sub New(ByVal name As String)
MyBase.New(name)
End Sub
Private m_Entries As New System.Collections.ArrayList
Public Sub Add(ByVal entry As Entry)
m_Entries.Add(entry)
End Sub
Public ReadOnly Property Entries() As System.Collections.ArrayList
Get
Entries = m_Entries
End Get
End Property
End Class
Class File : Inherits Entry
Public Sub New(ByVal name As String)
MyBase.New(name)
End Sub
End Class
Class Exercise4Solution
Public Shared Sub Main()
Dim rootDirectory As Directory = New Directory("C:\")
'
Dim directory1 As Directory = New Directory("directory1")
Dim directory2 As Directory = New Directory("directory2")
Dim directory3 As Directory = New Directory("directory3")
'
Dim file1 As File = New File("file1.vb")
Dim file2 As File = New File("file2.vb")
Dim file3 As File = New File("file3.vb")
Dim file4 As File = New File("file4.vb")
'
rootDirectory.Add(directory1)
rootDirectory.Add(directory2)
rootDirectory.Add(file1)
'
directory1.Add(file2)
directory1.Add(file3)
'
directory2.Add(directory3)
'
directory3.Add(file4)
'
PrintEntry(rootDirectory)
'
Console.ReadLine()
End Sub
Public Shared Sub PrintEntry(ByVal entry As Entry, _
Optional ByVal depth As Integer = 0)
Console.WriteLine(New String(" "c, depth) & "- " & entry.Name)
If TypeOf entry Is Directory Then
Dim directory As Directory = DirectCast(entry, Directory)
Dim directoryEntries As System.Collections.ArrayList = _
directory.Entries
For Each directoryEntry As Entry In directoryEntries
PrintEntry(directoryEntry, depth + 2)
Next
End If
End Sub
End Class

вывод
- C:\
- directory1
- file2.vb
- file3.vb
- directory2
- directory3
- file4.vb
- file1.vb
Булат Умбеталиев
Булат Умбеталиев
3 908
Лучший ответ
Такой приложение лучше на делфятине писать. На ВБ замучишься, если еще делать графический вывод.. .
А вообще разделить можно на несколько этапов
1) Массив вершин с названиями и координатами в декартовой ск. (это если визуально выводить)
2) Массив ребер с названиями конечной, начальной точки и веса дуги.
3) Имея эти массивы можно получить не матрицы смежности и инцидентности, но и матрицу Кирхгофа и еще много чего интересного.

Похожие вопросы