Основы визуальной алгоритмизации


Алгоритмы обработки одномерных числовых массивов - часть 6


Напомним, что заполнение таблицы происходит по строкам. Считаем, что все начальные значения числовых переменных равны 0.

В таблице 5 выполнена трассировка фрагмента поиска второго нулевого  и последнего положительного элементов (их номеров), а в таблице 6 выполнена трассировка следующего фрагмента алгоритма по перестановке в массиве найденных элементов, где K- текущий номер элемента,   A[K] - текущее значение элемента массива, М- количество нулей, обнаруженных в массиве при анализе очередного элемента, P- номер второго нулевого элемента массива, S- номер последнего положительного элемента массива, A[S] - значение последнего положительного элемента массива,  A[P] - значение второго нулевого элемента массива.

 

Таблица 5.Таблица трассировки операций       Таблица 6. Таблица трассировки

поиска второго нулевого элемента и                 перестановки найденных элемен-

последнего положительного                                тов массива 

 

К

Входной массив А(К)

M

М=2

Р

S

 

A(P)

А(6)

Q

А(S)

А(3)

Выходной массив А(К)

1

5

0

Нет

 

1

0

0

4

1    

5

2

0

1

Нет

 

 

4

0

4

2

0

3

4

 

 

 

3

4

0

0

3

0

4

-3

 

 

 

 

 

 

 

4

-3

5

-7

 

 

 

 

 

 

 

5

-7

6

0

2

Да

6

 

 

 

 

6

4

7

-2

 

 

 

 

 

 

 

7

-2

8

-4

 

 

 

 

 

 

 

8

-4

9

0

3

Нет

 

 

 

 

 

9

0

 

 

Пример 12. Составить алгоритм удаления в одномерном массиве элемента  с максимальным значением.

Решение. Анализ постановки задачи позволяет выделить две последовательно решаемые задачи: поиск элемента с максимальным значением и удаление этого значения из массива.


Начало  Назад  Вперед