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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2013, 17:22   #1
cutie_girl
Пользователь
 
Регистрация: 25.10.2012
Сообщений: 20
Вопрос проверить существование треугольника, вывести длинну наибольшей из сторон VBA

проверить существование треугольника, вывести длинну наибольшей из сторон.

к сожалению познания в vba минимальные. получилась вот такая вот функция, но она не работает : буду очень признательна за помощь.

Код:
 Public Function tr(a, b, с As Integer)
 Dim max As Integer
 ' a/b/c стороны треугольника
 ' max максимальная сторона
 If (a < b + c) Or (b < a + c) Or (c < a + b) Then
 If (a > b) And (a > c) Then
 max = "Треугольник существеует. с максимальной стороной" & a
 If (b > a) And (b > c) Then
 max = "Треугольник существеует. с максимальной стороной" & b
 Else
 max = "Треугольник существеует. с максимальной стороной" & с
 End If
 Else
 max = "Треугольник не существеует."
 End If
 tr = max
 End Function


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 27.06.2013 в 09:52.
cutie_girl вне форума Ответить с цитированием
Старый 26.06.2013, 20:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Public Function tr(a, b, с As Integer) as string
  ' a/b/c стороны треугольника
  ' max максимальная сторона
  If (a >= b + c) Or (b >= a + c) Or (c >= a + b) Then  
    tr = "с такими сторонами Треугольник не построить"    
  Else
    max = "Треугольник существеует. с максимальной стороной = "
    If (a >= b) And (a >= c) Then tr = max & a
    If (b >= a) And (b >= c) Then tr = max & b
    if (c>=a) and (c>=b) then tr = max & c
  End If
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.06.2013, 01:36   #3
cutie_girl
Пользователь
 
Регистрация: 25.10.2012
Сообщений: 20
По умолчанию

Спасибо огромнейшее!!! Вы просто спасли!
cutie_girl вне форума Ответить с цитированием
Старый 27.06.2013, 08:38   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Public Function tr(a, b, с As Integer) as string
  max = IIf(a > b, IIF(a > c, a, c), IIF(b > c, b, c))
  tr = IIf(2*max >= a+b+c, "Это не треугольник", "Максимальная сторона треугольника = " & max)
End Function
можно и покороче...
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.06.2013, 14:00   #5
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

Цитата:
Сообщение от cutie_girl Посмотреть сообщение
Public Function tr(a, b, с As Integer)
объявление параметров предположительно неверное

наверняка имели ввиду все параметры целые(хотя почему целые?), а целым будет только последний - с. предыдущие типа вариант.

и лучше не экономить и объявлять сразу as long..
slan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длины сторон треугольника и арифметическая прогрессия pionerka Помощь студентам 10 13.03.2013 18:39
процедуры и функции - возможно ли построение треугольника по длинам сторон, вычисление площади треугольника по длинам сторон kazbek1 Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2012 10:38
определение наибольшей площади треугольника fasty Помощь студентам 2 07.12.2011 20:07
Си/Си++ Существование сторон треугольника. Маришка_Курносова Помощь студентам 2 01.07.2010 21:54
Создание треугольника, сумма двух сторон больше третьей Gyugo Microsoft Office Excel 1 28.01.2010 17:24