поиск
.docxБуслаев Василий УПП-401 Лабораторная работа №6 вариант 4 « поиск »
1. постановка задачи
Напечатать значения индексов последних k элементов вектора В, равных ключу поиска q.
Входные данные:
n, k - целого типа
q, B() - вещественного типа
Выходные данные:
k, i - целого типа
B(), q - вещественного типа
2. Математическая модель:
i = n - k + 1 … n
Если B(i) = q Тогда
Печать i
3. схема алгоритма
4. Код программы:
Private Sub Command1_Click()
Dim B() As Single, k As Integer, q As Single, n As Integer, i As Integer
n = InputBox("n")
k = InputBox("k")
q = InputBox("q")
Print "k=" & k & " q=" & q
ReDim B(1 To n)
For i = 1 To n
B(i) = InputBox("B(" & i & ")")
Print B(i);
Next
For i = n - k + 1 To n
If B(i) = q Then
Print "(" & i & "); ";
End If
Next
End Sub
5. отладка програмы
Задача 2
1. постановка задачи
Найти индексы элементов вектора А, значения которых равны максимальному элементу матрицы B.
Входные данные:
n, m, q- целого типа
B(), A() - вещественного типа
Выходные данные:
i - целого типа
B(), A() - вещественного типа
2. Математическая модель:
max = B(1, 1)
i = 1 … m
j = 1 … n
Если max < B(i, j) Тогда
max = B(i, j)
i = 1 … q
Если A(i) = max Тогда
Печать i
3. схема алгоритма
4. Код программы:
Private Sub Command1_Click()
Dim B() As Single, q As Integer, n As Integer, i As Integer, m As Integer, j As Integer, max As Single, A() As Single
n = InputBox("n")
m = InputBox("m")
q = InputBox("q")
Print "B"
ReDim B(1 To m, 1 To n)
For i = 1 To m
For j = 1 To n
B(i, j) = InputBox("B(" & i & " , " & j & ")")
Print B(i, j);
Next
Next
Print "A"
ReDim A(1 To q)
For i = 1 To q
A(i) = InputBox("A(" & i & ")")
Print A(i);
Next
max = B(1, 1)
For i = 1 To m
For j = 1 To n
If max < B(i, j) Then
max = B(i, j)
End If
Next
Next
For i = 1 To q
If A(i) = max Then
Print "(" & i & ");";
End If
Next
End Sub
5. отладка программы