End If
Else
Dim p As Single
Dim x (1 To10) As Single
Перестановка местами и замена элементов массива
Нет элементов вне интервала
Положительная
На нечетных местах часть элементов
На нечетных местах все элементы положит.
Элементов
На нечетных местах нет положительных
Для первой части
End Sub
Else
Next i
End If
End If
Else
Next i
End If
Dim Sr As Single, P As Single, S As Single, a As Single, b As Single
Dim n As Byte, K As Byte, i As Byte, mAs Byte
<ввод n,x>
<ввод a,b>
<вывод x>
<вывод a,b>
S=0
K=0
For i=1 to n Step 2
If x(i)>0 Then
S=S+x(i)
K=K+1
If K= 0 Then
Cells (4,1)="нет положительных эл-в на нечетных местах"
Sr=S/K;
Cells(4,1)="Среднее арифметич. положит. эл-в на
нечетных местах=" & Sr
// вторая часть
P=1
m=0
For i=1 to n
If (x(i)< a) or (x(i)>=b) Then
P=P*x(i)
m=1
If m = 0 Then
Cells(5,1)="нет элементов вне интервала"
Cells(5,1)= "Произведение элементов вне интервала =" & P
Тесты:
среднее арифм. = (2+4+3)/3= 3
среднее арифм. = (1+7)/2=4
Для второй части интервал [a, b):
2. [5, 10) все элементы вне интервала произв = 2*2*4*-6*3*0=0
3. [-4,5) часть элементов вне интервала произв = 7*5-5= -175
Для перестановки местами двух элементов массива необходимо объявить дополнительную переменную того же типа, который имеют элементы массива.
Пример 1. Поменять местами второй и четвертый элементы массива:
p = x (2)
x (2) = x(4)
x (4)=p
Пример 2. Поменять местами первый и последний элементы массива:
p=x(1)
x (1)=x(n)
x (n) =p
Пример 3. Поменять местами предпоследний элемент массива с элементом с заданным номером k:
If k = n -1 then
MsgBox “Обмен не нужен, т.к. …..”
p = x (n-1)
x (n-1) = x (k)
x (k) = p
Пример 4. Заменить положительные элементы массива на последний элемент массива.
For i:=1 to n-1 do
If x(i)>0 Then x(i) =x(n)
Графическая схема алгоритма:
:
При поиске минимального элемента блок 7 должен иметь вид:
Тесты:
1. минимальный элемент находится на первом месте в массиве;
2. минимальный элемент находится на последнем месте в массиве;
3. минимальный элемент находится в середине массива;
4. зависит от конкретных условий задачи.
Пример. Найти минимальный из элементов массива с номерами, кратными трем, и поменять его местами со следующим элементом массива.
min=x(3)
n_min=3
For i=6 to n Step 3
If x(i) < min then
min=x(i);
n_min=i