Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

В задании не сказано, где хранятся координаты точек полигона, поэтому считаем, что считываются из файла
 
'=== Создать класс с именем PointClass ===

Код:
 
Public X As Double
Public Y As Double
Public NextItem As PointClass
 

'=== End Class ===
 
'Код в модуле вызывается процедура CalcRadius с параметром путь и имя файла с координатами точек полигона

Код:
 
Private Sub ReadPoints(ByVal FileName As String, ByRef toRoot As PointClass)
    Dim vX As Double, vY As Double, Item As PointClass
    Dim fNum As Integer
     
    fNum = FreeFile()
    Open FileName For Input As #fNum
    Do Until EOF(fNum)
        Set Item = New PointClass
        Input #fNum, vX, vY
        Item.X = vX: Item.Y = vY
        Set Item.NextItem = toRoot
        Set toRoot = Item
    Loop
End Sub
 
Private Sub CalcRadius(ByVal InputFile As String)
    Dim pRoot As PointClass, vMax As Double, Dist As Double
    Dim pCurrentPoint As PointClass, pNextPoint As PointClass
     
    Call ReadPoints(InputFile, pRoot)
    Set pCurrentPoint = pRoot
    Do Until pCurrentPoint Is Nothing
        Set pNextPoint = pCurrentPoint.NextItem
        Do Until pNextPoint Is Nothing
            Dist = Math.Sqr((pNextPoint.X - pCurrentPoint.X) ^ 2 + (pCurrentPoint.Y - pNextPoint.Y) ^ 2)
            If vMax < Dist Then vMax = Dist
            Set pNextPoint = pNextPoint.NextItem
        Loop
        Set pCurrentPoint = pCurrentPoint.NextItem
    Loop
    MsgBox "Радиус описанной окружности: " & CStr(0.5 * vMax), vbInformation, "Ответ"
End Sub
 


Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 13:36 18-04-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru