Продолжение табл. 9.2
1 |
2 |
10 |
Вычислить формулу Z = S P, где S – сумма элементов массива X; Р – произведение элементов массива А, отличных от нуля |
11 |
Рассчитать сумму положительных элементов массива X и их количество и отрицательных элементов массива А и их количество |
12 |
Определить сумму S = S1 + S2, где S1 – сумма элементов массива X с четными индексами; S2 – сумма элементов массива А с нечетными индексами |
13 |
Вычислить сумму нечетных значений элементов массива А, а элементы, кратные двум заменить нулями |
14 |
Найти в массиве А элементы, кратные двум, и заменить их нулями |
15 |
Вычислить среднее геометрическое ненулевых элементов массива по формуле, , где k – количество ненулевых элементов |
16 |
Определить сумму элементов массива с нечетными индексами и произведение элементов массива, кратных пяти |
17 |
Найти среднее арифметическое значение положительных элементов |
18 |
Рассчитать произведение всех положительных элементов массива X с четными индексами |
19 |
Вычислить произведение суммы элементов массива X с четными индексами на сумму элементов с нечетными индексами |
20 |
Найти в массиве А первый элемент, кратный 10, и заменить его на второй элемент массива А |
21 |
Определить сумму кубов элементов массива X с нечетными индексами |
22 |
Рассчитать сумму четных и произведение неравных нулю элементов массива, сменить знак у элементов с четными индексами |
23 |
Найти в массиве А последний элемент, равный 10, и его порядковый номер и заменить этот элемент на максимальный элемент массива А |
24 |
Определить численное значение суммы положительных и произведение кратных пяти элементов массива X и определить количество тех и других элементов |
Окончание табл. 9.2
1 |
2 |
25 |
Вычислить сумму отрицательных и произведение нечетных элементов массива X с нечетными индексами и определить количество тех и других элементов |
26 |
Определить в массиве X элемент массива, кратный 25, и прибавить к нему численное значение суммы элементов массива с четными индексами |
27 |
Найти в массиве А первый элемент, равный восьми, и его порядковый номер и заменить его на второй элемент массива |
Лабораторная работа 10
Удаление и вставка
элемента одномерного массива.
Формирование нового массива из исходного
Цель работы: Изучение особенностей алгоритмизации и программирования задач, связанных с обработкой и формированием массивов.
10.1. Примеры выполнения работы
П р и м е р 1. Задан массив Х = (– 4; 8; – 6; 5; 8; 4). Удалить из массива Х элемент, стоящий на третьем месте, и сформировать новый массива A.
Алгоритм процедуры PR1 удаления элемента из массива с формированием нового массива A показан на рис. 10.1. Программный код, в котором удаляется третий элемент массива Х с формированием нового массива A, выглядит так:
Option Explicit
Sub PR1 ( )
Dim x(1 to 6) as As Integer, A(1 to 5) As Integer
Dim N As Integer, i As Integer
Dim k As Integer
k = 3 : n=6
For I=1 to n : x(I) = Val(Input Box("Вв. x")):Next I
For i = k To N – 1 ‘начиная с k-го и до предпоследнего элемента
X(i) = X(i + 1) ‘сдвигаем элементы
массива влево
Next i
Cells(3, 1) = "полученный массив"
For i = 1 to N - 1
A(i)=x(i) ‘с формированием массива A
Cells(4, i) = A(i) ‘вывод массива
Next i: End Sub
Удаление одного элемента из одномерного массива происходит по следующей схеме:
1) указывается или определяется порядковый номер элемента, который необходимо удалить из массива;
2) все элементы, стоящие за удаляемым элементом, сдвигаются на одну позицию влево;
3) количество элементов уменьшается на единицу.
При вставке одного элемента в массив необходимо сначала освободить место для вставляемого элемента, т. е. «раздвинуть» элементы, а затем вставить новый элемент в массив, увеличив массив на один элемент.
П р и м е р 2. Дан массив X = {–3; 2; 0; 6; –8; 12; 0; 5; 77}. После первого числа 0 вставить сумму всех элементов массива. Алгоритм вставки элемента массива процедуры PR2 представлен на рис. 10.2.
Программный код:
Option Explicit
Sub PR2 ( )
Dim x(11) As Integer, i As Integer, a As Integer, n As Integer
Dim i0 As Integer ‘ порядковый номер числа 0
s = 0: n = 10
For i = 1 To n
x(i) = Cells(1, i) ‘ ввод массива и
s = s + x(i) ‘ вычисление суммы элементов
Next i
For i = 1 To n ‘ поиск порядкового номера первого числа 0
If x(i) = 0 Then
i0 = i
Exit For ‘ выход из цикла
End If
Next i
For i = n + 1 To i0 + 1 Step –1 ‘ раздвигаем элементы массива
x(i) = x(i – 1)
Next i
x(i0 + 1) = s ‘ вставка элемента равного сумме
Cells(3, 1) = "полученный массив"
For i = 1 to n+1 ‘ вывод полученного массива
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.