150 пунктов за два задания в Basic
10-11 класс
|
1.Составьте функцию, проверяющую упорядоченность всех элементов одномерного массива целых чисел по убыванию их значений. Используя эту функцию, выведите каждый из двух заданных одномерных массивов А и В, если его элементы не упорядочены в порядке убывания их значений. В противном случае выведите сообщение "Массив А ( или В) упорядочен".
2. Составьте функцию проверяющую, что все элементы одномерного массива имеют значения, больше заданной величины. Используя эту функцию, определите для двух заданных одномерных массивов А и В, у скольких из них значение всех элементов больше заданной величины h
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
''''1.
Dim msg_A As String
msg_A = VerifySort(A)
If msg_A <> CStr(A.Length) Then
MsgBox(msg_A)
Else
MsgBox("Массив А упорядочен")
End If
Dim msg_B As String
msg_B = VerifySort(B)
If msg_B <> CStr(A.Length) Then
MsgBox(msg_B)
Else
MsgBox("Массив B упорядочен")
End If
sort(A)
msg_A = VerifySort(A)
If msg_A <> CStr(A.Length) Then
MsgBox(msg_A)
Else
MsgBox("Массив А упорядочен")
End If
''''' 2.
Dim h As Integer
h = InputBox("Введите h")
i = CompareValue(A, h)
If i <> UBound(A) Then
MsgBox("У массива не все элементы больше h. Значений больше h " & i & " шт.")
Else
MsgBox("У массива все элементы больше h.")
End If
i = CompareValue(B, h)
If i <> UBound(B) Then
MsgBox("У массива не все элементы больше h. Значений больше h " & i & " шт.")
Else
MsgBox("У массива все элементы больше h.")
End If
End Sub
Private Function VerifySort(ByRef Massiv() As Integer) As String
Dim i, j, k As Integer
Dim msg As String
For i = Massiv.Length To 0 Step -1
For j = Massiv.Length - 1 To 1 Step -1
If Massiv(j) < Massiv(j - 1) Then
For k = 0 To Massiv.Length - 1
msg = msg & Massiv(k) & vbCrLf
Next
Return msg
End If
Next j
Next i
Return Massiv.Length
End Function
Private Function sort(ByRef Massiv() As Integer) As Integer
Dim i, j, Dump As Integer
For i = Massiv.Length To 0 Step -1
For j = Massiv.Length - 1 To 1 Step -1
If Massiv(j) < Massiv(j - 1) Then
Dump = Massiv(j)
Massiv(j) = Massiv(j - 1)
' c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535
Комментарий удален
Другие вопросы из категории
между полями формы? Почему переход к полю даты не осуществляется при нажатии
этой кнопки?
введения имени (Антон) и числа (15) выводит на экран “Да... Через 50 лет тебе уже будет 65 лет, а звать тебя будут не Антон, а дед Антон”
Читайте также
особенно обязательно вторые два задания.
Иванов 4
Сидоров 5
Петров 2
Харламов 3
Захаров 5
автомат отказывается работать). По этим числам строится новое шестнадцатеричное число по следующим правилам. 1) Вычисляются два шестнадцатеричных числа – сумма старших разрядов заданных чисел и сумма младших разрядов этих чисел . 2) Полученные два шестнадцатеричных числа записываются друг за другом в порядке возрастания (без разделителей). Пример. Исходные числа: 66, 43. Поразрядные суммы: A, 9. Результат: 9A. Определите, какое из предложенных чисел может быть результатом работы автомата : 1) AF 2) 410 3) 8B 4) 76 (и объясните, пожалуйста, как это решать вообще)) )