Тема. Способи подання графів Мета. Формування умінь представляти графи у вигляді таблиці суміжності Завдання Створити програму з графічним інтерфейсом для виконання наступних завдань: 1) з першого текстового поля прочитати дані про пов’язані вершини графу (у окремих рядках вказано через пробіл номери пов’язаних ребрами вершин); 2) до другого текстового поля вивести таблицю суміжності для цього графу; 3) до третього текстового поля вивести кількість вершин графу; 4) до четвертого текстового поля вивести кількість ребер графу. Примітка: вершини графу пронумеровані по порядку від 1, граф не містить ізольованих вершин.
Приклади вхідних та вихідних даних: Граф | Вхідні дані | Вихідні дані | TextBox1.Text | TextBox2.Text | TextBox3.Text | TextBox4.Text | | 1 4 1 2 1 3 3 2 3 5 | 0 1 1 1 0 1 0 1 0 0 1 1 0 01 1 0 0 0 0 0 0 1 0 0 | 5 | 5 |
Розв'язання мовою VB.NET Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Оголосимо локальні змінні Dim v, r As Integer Dim matr(100, 100) As Integer Dim a, b, x As Integer 'Заповнюємо матрицю суміжності та рахуємо кількість вершин Dim s As String For i = 0 To TextBox1.Lines.Count - 1 s = TextBox1.Lines(i) s = s.Trim() If s <> "" Then x = s.IndexOf(" ") a = Val(s.Substring(0, x)) b = Val(s.Substring(x + 1, s.Length - x - 1)) matr(a, b) = 1 matr(b, a) = 1 If a > v Then v = a If b > v Then v = b End If Next 'Рахуємо кількість ребер r = 0 For i = 1 To v For j = 1 To v If matr(i, j) = 1 Then r = r + 1 Next Next r = r / 2 'Виводимо матрицю суміжності TextBox2.Text = "" For i = 1 To v For j = 1 To v TextBox2.Text += Str(matr(i, j)) + " " Next TextBox2.Text += vbNewLine Next 'Виводимо кількість вершин TextBox3.Text = Str(v) 'Виводимо кількість ребер TextBox4.Text = Str(r) End Sub End Class Завдання для самостійного виконання Виконати програму для заданого вашим варіантом графу:
|