Найти сумму элементов массива, значения которых по модулю меньше 10 - VB
Формулировка задачи:
Напишите плисс легкую программку, я просто изучал паскаль, а не basic.
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-40,40]. Найти сумму элементов, значения которых по модулю меньше 10.
2. Вывести индексы тех элементов, значения которых больше значения последующего элемента.
3. Определить, есть ли две пары соседних элементов с разными знаками
Решение задачи: «Найти сумму элементов массива, значения которых по модулю меньше 10»
textual
Листинг программы
- Dim arr1(9) As Integer
- Dim i, iSum As Integer
- Dim strBuf1 As String
- Dim strBuf2 As String
- Dim dblVal As Double
- iSum = 0
- ' Инициализация тестового массива
- For i = 0 To 9
- dblVal = Rnd()
- arr1(i) = (dblVal * 80) Mod 40
- If Rnd() > 0.5 Then arr1(i) = arr1(i) * (-1)
- Next
- ' Обработка данных массива
- For i = 0 To UBound(arr1)
- ' Сумма элементом меньших 10 по модулю
- If arr1(i) > -10 And arr1(i) < 10 Then
- iSum = iSum + arr1(i)
- End If
- If i > 0 Then
- ' п.2 задачи
- If arr1(i) > arr1(i - 1) Then
- If strBuf1 = "" Then
- strBuf1 = CStr(i)
- Else
- strBuf1 = strBuf1 & ", " & CStr(i)
- End If
- End If
- ' п.3 задачи
- If ((arr1(i) > 0 And arr1(i - 1) < 0) Or (arr1(i) < 0 And arr1(i - 1) > 0)) Then
- If strBuf2 = "" Then
- strBuf2 = CStr(i - 1) & " ГЁ " & CStr(i)
- Else
- strBuf2 = strBuf2 & ", " & CStr(i - 1) & " ГЁ " & CStr(i)
- End If
- End If
- End If
- Next
- MsgBox "Сумма: " & CStr(iSum) & vbCrLf & _
- "Индексы п.2: " & strBuf1 & vbCrLf & _
- "Индексы п.3: " & strBuf2 & vbCrLf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д