В массиве(1 to N)as Double вычислить количество элементов, расположенных в диапазоне от А до В - VB
Формулировка задачи:
В одномерном массиве, который состоит из N вещественных элементов, вычислить:
1) количество элементов массива, расположенных в диапазоне от А до В;
2) сумму элементов массива, расположенных после максимального элемента.
Упорядочить элементы массива по убыванию модулей элементов.
На экран вывести: исходный массив; вычисленные значения и преобразованный массив.
помогите плиз, очень прошу, завтра нужно здать ее,
Решение задачи: «В массиве(1 to N)as Double вычислить количество элементов, расположенных в диапазоне от А до В»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim N As Integer, M() As Double
- Dim A As Integer, B As Integer
- Dim kol As Integer, sum As Double, sumAfterMax As Double
- Dim max As Double, indMax As Integer, tmp As Double
- Dim i As Integer, j As Integer, s As String
- AutoRedraw = True
- Label1.Caption = ""
- N = InputBox("Введите размер массива N", "", 20)
- ReDim M(1 To N)
- Label1.Caption = "Исходный массив: " & vbCrLf
- For i = 1 To N
- M(i) = InputBox("Мой элемент массива № " & i, , Int(Rnd * 20 - 10)) ' Rnd * 20 - 10
- Label1.Caption = Label1.Caption & " " & M(i) & ","
- Next i
- A = InputBox("Введите число A", "", 5)
- B = InputBox("Введите число B", "", 10)
- For i = 1 To N
- If i > A And i < B Then kol = kol + 1
- Next i
- Label1.Caption = Label1.Caption & vbCrLf & vbCrLf
- Label1.Caption = Label1.Caption & "Количество элементов между " & A & " и " & B & " равно " & kol & vbCrLf & vbCrLf
- max = M(1): indMax = 1
- For i = 1 To N
- If max < M(i) Then max = M(i): indMax = i
- Next i
- Label1.Caption = Label1.Caption & "Максимальный элемент массива - M(" & indMax & ") = " & max & vbCrLf & vbCrLf
- For i = indMax + 1 To N
- sumAfterMax = sumAfterMax + M(i)
- Next i
- Label1.Caption = Label1.Caption & "Cуммa элементов массива, расположенных после максимального элемента = " & sumAfterMax & vbCrLf & vbCrLf
- For i = 1 To N
- For j = 1 To N - 1
- If Abs(M(j)) < Abs(M(j + 1)) Then
- tmp = M(j)
- M(j) = M(j + 1)
- M(j + 1) = tmp
- End If
- Next j
- Next i
- Label1.Caption = Label1.Caption & "Упорядоченный (по убыванию модулей элементов) массив : " & vbCrLf
- For i = 1 To N
- Label1.Caption = Label1.Caption & M(i) & ", "
- Next i
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д