Другие языки программирования и технологии

Помогите решить задачу на Basic

Люди))) Помогите на Basic решить задачу)))....Плииииз...Нужно написать алгоритм поиска первого из двух последовательных элементов в целочисленном масиве из 20 элементов, сумма которых минимальна (если таких пар несколько,то выбрать любую из них...)
Pavel Ivanov
Pavel Ivanov
1 709
Доброго времени суток.

Здесь все достаточно просто.

Sub Tst()
Dim A(20) As Integer
Dim i As Integer, MaxSum As Integer, MaxIdx As Integer
' заполнение массива случайными числами от 1 до 6
For i = 0 To 19
A(i) = Int((6 * Rnd) + 1)
Next i

MaxIdx = 0 ' индекс начала пары с минимальной суммой
MaxSum = -32767 ' заведомо малое число
For i = 0 To 18
If A(i) + A(i + 1) > MaxSum Then ' сумма очередной пары больше
MaxSum = A(i) + A(i + 1) ' запоминаем ее
MaxIdx = i ' и индекс первого числа в паре
End If
Next i
MsgBox MinIdx ' вывод результата
End Sub

Удачи!
KV
Kostia Veter
59 613
Лучший ответ
У Геннадия ошибки:
1)не выполнена проверка на (ДВУХ ПОСЛЕДОВАТЕЛЬНЫХ)
2) он ищет максимальную а по условиям надо МИНИМАЛЬНУЮ

Sub Tst()
Dim A(20) As Integer
Dim i As Integer, MaxSum As Integer, MaxIdx As Integer
' заполнение массива случайными числами от 1 до 6
MinSum = 1000
For i = 0 To 19
A(i) = Int((6 * Rnd) + 1)
Next i

MaxIdx = 0 ' индекс начала пары с минимальной суммой
MinSum = 10000 ' заведомо большая сумма
For i = 0 To 18
If (A(i) + A(i + 1))and(abs(A(i) - A(i + 1))=1) < MinSum Then ' сумма очередной пары МЕНьше и элементы последовательны
MinSum = A(i) + A(i + 1) ' запоминаем ее
MaxIdx = i ' и индекс первого числа в паре
End If
Next i
MsgBox MinIdx ' вывод результата
End Sub