Пример 14

Разработать информационную технологию, позволяющую заполнить в вычислительной среде одномерный массив В значениями элементов массива А произвольной размерности m×n, имеющих чётные значения элементов.

Входные данные:

m – целое число;

n – целое число;

A=[aij], , – массив целых чисел.

Выходные данные:

B = [bi], – массив целых чисел.

Математическая модель:

k = 0;

для i = 1.. m, j = 1.. n,

если aij – четное, то k = k + 1 и bk = aij

 
 
Схема алгоритма:

 
 


да


нет
да


да

нет


да


Код приложения:

Option Base 1

Private Sub Command1_Click()

Dim i As Integer, j As Integer, k As Integer, m As Integer, n As Integer

Dim a() As Integer, b() As Integer

m=InputBox(“Введите количество строк матрицы”)

n=InputBox(“Введите количество столбцов матрицы”)

ReDim a(m,n), b(m*n)

For i=1 to m

For j=1 to n

a(i,j)=InputBox(“a(“ & i & ”,” & j & ”)”)

Next

Next

k=0

For i=1 to m

For j=1 to n

If a(i,j) mod 2 =0 Then k=k+1:

b(k)=a(i,j)

Next j

Next i

Print “Исходный массив A”

For i=1 to m

Print

For j=1 to n

Print a(i,j);

Next

Next

If k <>0 Then

Print Chr(10);“Заполнен массив В ”

For i=1 to k

Print b(i);

Next

Else

Print “Четных значений элементов в массиве А нет”

End If

End Sub

4.2. Производная алгоритмическая структура Перестановка

Используется в тех случаях, когда требуется поменять местами значения элементов массива.

Особенности алгоритма.

1. Вводится дополнительная переменная для хранения одного из двух значений элементов массива, которые требуется поменять местами.

2. В зависимости от размерности массива определяется тип вычислительного процесса – цикл или цикл в цикле.

3. Телом цикла служит структура Следование, состоящая из трех блоков:

- в первом блоке дополнительной переменной присваивается значение первого из двух элементов массива, значения которых переставляются;

- во втором блоке этому элементу массива присваивается значение второго из двух элементов массива;

- в третьем блоке второму из элементов присваивается значение дополнительной переменной.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: