Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2015, 17:37   #1
ArturMur
 
Регистрация: 08.11.2015
Сообщений: 4
По умолчанию Поиск числа с максимальным количеством нулей (конечный автомат) Visual basic

Доброго времени суток уважаемые программисты. Требуется ваша помощь. Суть такова:Создать программу, которая позволяет пользователю выбрать текстовый файл. Пусть текст содержит слова, знаки препинания и другие символы, а также числа. Число – непрерывная последовательность цифр, перед которой может быть (а может не быть) знак «-» или «+» (таким образом, в этом задании рассматриваются только целые числа). Программа должна найти число, содержащее максимальное количество нулей. Программа должна быть с применением конечно-автоматной модели.
Нашёл код программы написанный в VB 2005. Но там нахождение "наибольшего числа". Кто сможет подрихтовать код, дабы он соответствовал заданию? Спасибо
Код:
Public Class Form1
    Dim MyFileName, s As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim t() As Char
        Dim check, minus As Boolean
        Dim state As Byte
        Dim i, n, a, max As Integer
        Dim c As String
        state = 1
        s = TextBox1.Text
        t = s.ToCharArray
        n = UBound(t)
        max = -2147483648
        a = -2147483648
        c = ""
        minus = False
        For i = 0 To n
            check = IsNumeric(t(i))
            If check = True Then
                state = 2
            Else
                state = 1
                minus = False
                c = ""
            End If
            If t(i) = "-" Then
                minus = True
                c = "-"
            End If
            Select Case state
                Case 1
                    If a > max Then
                        max = a
                        TextBox2.Text = Str(max)
                    End If
                    a = -2147483648
                Case 2
                    c = c + t(i)
                    a = Val(c)
                    If i = n And a > max Then
                        max = a
                        TextBox2.Text = Str(max)
                    End If
            End Select
        Next i
        If TextBox1.Text = "" Then
            TextBox2.Text = "Требуется текст"
            MsgBox("Требуется текст")
        End If

        If TextBox2.Text = "" Then TextBox2.Text = "Чисел не найдено"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim MyOpenFileDialog = New OpenFileDialog()
        MyOpenFileDialog.Filter = "txt-files|*.txt;"
        If MyOpenFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
            MyFileName = MyOpenFileDialog.FileName
        End If
        FileOpen(1, MyFileName, OpenMode.Input)
        TextBox1.Text = ""
        Do Until EOF(1)
            s = LineInput(1)
            TextBox1.Text &= s & vbCrLf
        Loop
        FileClose(1)
        TextBox1.ReadOnly = True
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        TextBox1.Text = ""
        TextBox2.Text = ""
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        TextBox1.ReadOnly = False
        TextBox1.Focus()
    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        TextBox2.Text = ""
    End Sub
End Class
Это код найденной программы.
ArturMur вне форума Ответить с цитированием
Старый 09.11.2015, 17:26   #2
ArturMur
 
Регистрация: 08.11.2015
Сообщений: 4
По умолчанию

Тема актуальна.
ArturMur вне форума Ответить с цитированием
Старый 10.11.2015, 10:58   #3
ArturMur
 
Регистрация: 08.11.2015
Сообщений: 4
По умолчанию

Тема актуальна.
ArturMur вне форума Ответить с цитированием
Старый 12.11.2015, 15:10   #4
ArturMur
 
Регистрация: 08.11.2015
Сообщений: 4
По умолчанию

Тема актуальна
ArturMur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
конечный автомат fkty Помощь студентам 18 17.01.2015 18:49
Конечный автомат Rыся Помощь студентам 1 11.01.2013 10:56
Конечный автомат. Лабиринт (поиск в глубину) Osmium Общие вопросы C/C++ 0 21.11.2012 12:57
Конечный автомат maxon56 Помощь студентам 0 19.12.2011 19:32
Найти байт максимальным количестов единиц и байт с максмальным количеством нулей и разность (ассемблер) Beren42 Помощь студентам 0 15.12.2010 20:32