Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Задача по ветвлениям Добавлено: 25.05.06 22:56  

Автор вопроса:  GlooM | Web-сайт: newlc.info | ICQ: 348453688 
Даны действительные положительные числа a,b,c,x,y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x,y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой стороне отверстия.

Как я понял, если a>x, a>y, b>x, b>y, c>x, c>y, то условие не выполняется, а если какое либо меньше x,y, то выполняется... :)
помогите, а то к зачету надо сдать.. :)

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 26.05.06 01:06
Отсортируй a,b,c и x,y по возрастанию, минимум из первого набора должен быть больше минимума из второго, а среднее из первого больше максимума из второго

Ответить

Номер ответа: 2
Автор ответа:
 GlooM



ICQ: 348453688 

Вопросов: 88
Ответов: 356
 Web-сайт: newlc.info
 Профиль | | #2
Добавлено: 26.05.06 23:46
Конечно, можно было и по красивее сделать, но мне надо было быстрее... :) вот что получилось:

Option Explicit
Public Sub L2Ex8()
Dim a As Double, b As Double, c As Double
Dim x As Double, y As Double
Dim max As Double, sred As Double, min As Double
Dim max2 As Double, min2 As Double
a = InputBox("a";)
b = InputBox("b";)
c = InputBox("c";)
x = InputBox("x";)
y = InputBox("y";)
max2 = x
min2 = x
If min2 > y Then min2 = y
If max2 < y Then max2 = y
If (a > b) And (b > c) Then
max = a
sred = b
min = c
ElseIf (a > c) And (c > b) Then
max = a
sred = c
min = b
ElseIf (b > a) And (a > c) Then
max = b
sred = a
min = c
ElseIf (b > c) And (c > a) Then
max = b
sred = c
min = a
ElseIf (c > a) And (a > b) Then
max = c
sred = a
min = b
ElseIf (c > b) And (b > a) Then
max = c
sred = b
min = a
End If
If min > min2 And sred > max2 Then
MsgBox "Кирпич проходит"
Else
MsgBox "Кирпич не проходит"
End If
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #3 Добавлено: 31.05.06 12:00
А если вложить Ifы?

Ответить

Номер ответа: 4
Автор ответа:
 GlooM



ICQ: 348453688 

Вопросов: 88
Ответов: 356
 Web-сайт: newlc.info
 Профиль | | #4
Добавлено: 31.05.06 16:39
можно.. вот такое решение:
Option Explicit
Public Sub L2Ex8()
Dim a, b, c, x, y As Integer
Dim Message As String
a = InputBox("a";)
b = InputBox("b";)
c = InputBox("c";)
x = InputBox("x";)
y = InputBox("y";)
Message = "Кирпич не проходит"
If (a <= x And b <= y) Or (a <= y And b <= x) Or _
(a <= x And c <= y) Or (a <= y And c <= x) Or _
(b <= x And c <= y) Or (b <= y And c <= x) _
Then Message = "Кирпич проходит"
MsgBox Message
End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #5 Добавлено: 31.05.06 16:49
GlooMно... Ну, это почти то что я имел ввиду.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам