Програмування в
ІТ профілі
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Воскресенье, 28.04.2024, 09:48
    Приветствую Вас Гость | RSS
    Главная | Регистрация | Вход
    Практична робота №2.2

    Тема. Способи подання графів

    Мета. Формування умінь представляти графи у вигляді таблиці суміжності

     

    Завдання

    Створити програму з графічним інтерфейсом для виконання наступних завдань:

    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

     

    Завдання для самостійного виконання

     Виконати програму для заданого вашим варіантом графу:


    Куликівська ЗОШ І-ІІІ ст. © 2024
    Сделать бесплатный сайт с uCoz