Предмет: Информатика,
автор: НатальяМамаева
Помогите, пожалуйста, программисты. Basic
Составьте подпрограмму, изменяющую одномерный массив чисел делением его
положительных элементов на свои индексы и определяющую число измененных
элементов. Используя эту процедуру, определите, в каком из двух заданных
одномерных массивов А или В больше измененных элементов, а также выведите
измененные массивы А и В. Если же число измененных элементов одинаково, то
выведите соответствующее сообщение
Ответы
Автор ответа:
0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim A() As Integer
Dim B() As Integer
Randomize()
Dim k As Integer
Dim i As Integer
i = Rnd() * 100 + 1
ReDim A(i)
For k = 0 To i
A(k) = Rnd() * -1000 + 500
Next
i = Rnd() * 100 + 1
ReDim B(i)
For k = 0 To i
B(k) = Rnd() * -1000 + 500
Next
Dim countA As Integer
Dim countB As Integer
countA = change(A)
countB = change(B)
Dim msg_A As String
For i = 0 To UBound(A) - 1
msg_A = msg_A & A(i) & vbCrLf
' c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535
Next
Dim msg_B As String
For i = 0 To UBound(B) - 1
msg_B = msg_B & B(i) & vbCrLf
Next
If countA = countB Then MsgBox("Количество измененных элементов в двух массивах одинаково")
MsgBox(msg_A)
MsgBox(msg_B)
End Sub
Private Function change(ByRef Massiv() As Integer) As Integer
Dim count As Integer
Dim i As Integer
For i = 0 To UBound(Massiv) - 1
If Massiv(i) > 0 Then Massiv(i) = Massiv(i) / i : count = count + 1
Next
Return count
End Function
Dim A() As Integer
Dim B() As Integer
Randomize()
Dim k As Integer
Dim i As Integer
i = Rnd() * 100 + 1
ReDim A(i)
For k = 0 To i
A(k) = Rnd() * -1000 + 500
Next
i = Rnd() * 100 + 1
ReDim B(i)
For k = 0 To i
B(k) = Rnd() * -1000 + 500
Next
Dim countA As Integer
Dim countB As Integer
countA = change(A)
countB = change(B)
Dim msg_A As String
For i = 0 To UBound(A) - 1
msg_A = msg_A & A(i) & vbCrLf
' c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535
Next
Dim msg_B As String
For i = 0 To UBound(B) - 1
msg_B = msg_B & B(i) & vbCrLf
Next
If countA = countB Then MsgBox("Количество измененных элементов в двух массивах одинаково")
MsgBox(msg_A)
MsgBox(msg_B)
End Sub
Private Function change(ByRef Massiv() As Integer) As Integer
Dim count As Integer
Dim i As Integer
For i = 0 To UBound(Massiv) - 1
If Massiv(i) > 0 Then Massiv(i) = Massiv(i) / i : count = count + 1
Next
Return count
End Function
Похожие вопросы
Предмет: Алгебра,
автор: sweev2005
Предмет: Математика,
автор: vitaliyusenko82
Предмет: Литература,
автор: Аноним
Предмет: Информатика,
автор: Лиза19971995
Предмет: Математика,
автор: Deniska101