Занятие 29. Решение задач повышенной трудности на одномерные массивы
End Sub
End If
Next i
Else
Next i
End If
M = 0
Next i
Randomize
Print "Массив А"
For i = 1 To N 'задание элементов массива
A(i) = (-1) ^ Int(Rnd * 10) * Int(Rnd * 10)
Print "A("; i; ")="; A(i)
C! = InputBox("Введите левую границу интервала - С")
D! = InputBox("Введите правую границу интервала - D")
Print "Интервал: "; "("; C; ","; D; ")"
For i = 1 To N
If (A(i) >= val(C)) And (A(i) <= val(D)) Then
m = m + 1
B(m) = A(i)
If m = 0 Then
Print " Нет элементов массива принадлежат интервалу C, D"
Print "Массив В"
For i = 1 To m
Print "B("; i; ")="; B(i)
Задача 6. Составьте программу, сортирующую элементы линейного массива по возрастанию методом пузырька.
Сравниваются два соседних элемента массива и если предыдущий элемент больше последующего, то они меняются местами. Таким образом, большее число смещается вправо (вглубь), а меньшее по модулю - влево (на поверхность), подобно пузырьку воздуха в воде.
8 4 2 0 9 5 – исходный массив.
4 8 2 0 9 5 – пара сменилась местами
4 2 8 0 9 5 – пара сменилась местами
4 2 0 8 9 5 – пара сменилась местами
4 2 0 8 9 5 – смены не происходит
4 2 0 8 5 9– пара сменилась местами
2 4 0 8 5 9 – пара сменилась местами
2 0 4 8 5 9 – пара сменилась местами
2 0 4 8 5 9 – смены не происходит
2 0 4 5 8 9 – пара сменилась местами
0 2 4 5 8 9 – смены не происходит, сортировка по возрастанию выполнена.
N = InputBox("Введите количество элементов массива")
Print "Массив А"
For i = 1 To N 'задание элементов массива
A(i) = Int(Rnd * 10)
For j = 1 To N 'Сортировка массива
For i = 1 To N - 1
If A(i) > A(i + 1) Then
t = A(i + 1) 'Алгоритм смены значений 2-х переменных.
A(i + 1) = A(i) ' «чай и кофе»
A(i) = t
Print "Массив отсортирован по возрастанию"
For i = 1 To N
Задача 7. Составьте программу нахождения значения и номера чаще всего встречающегося элемента массива A(N).
N = InputBox("Введите количество элементов массива")