В массиве(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
Print
 
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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы