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


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


Если очередной элемент равен 0, то для подсчета количества таких элементов используем реккурентную формулу M=M+1. В тот момент времени, когда значение М=2, нам необходимо запомнить номер текущего элемента массива, так как это и есть искомый второй положительный элемент исходного массива. На рис.20 приведен фрагмент алгоритма, реализующего поиск второго нулевого элемента в некотором массиве  А из N элементов.

 

 

Рис. 20. Фрагмент алгоритма поиска второго нулевого элемента в массиве А, состоящем из N элементов. Здесь К- номер очередного элемента, А(К) - значение очередного элемента, m -количество нулевых элементов, Р- номер второго нулевого элемента в массиве

 


            Поиск последнего положительного элемента массива будем осуществлять аналогично в цикле, запоминая номер очередного элемента, значение которого больше нуля, в дополнительной переменной S.  Учитывая тот факт, что после того, как будут просмотрены и проверены на положительность все элементы массива, в переменной  S будет храниться номер последнего положительного элемента массива. На рис. 21 представлен фрагмент алгоритма поиска последнего положительного элемента в массиве А.


 

Рис. 21. Фрагмент алгоритма поиска последнего положительного элемента

Рассмотрим фрагменты алгоритма, приведенные на рис. 20 и 21. Можно заметить, что оба этих фрагмента выполняют поиск под управлением цикла, с одинаковым числом повторений, равным количеству элементов исходного массива N. Поэтому в итоговом алгоритме решения задачи примера 11 вместо  композиции этих двух фрагментов в виде двух последовательных циклов  можно использовать параллельное выполнение операций поиска под управлением одного цикла, который приведен на рис. 22.

 


 

 

 

 

Рис 22. Алгоритм поиска второго нулевого и последнего положительного элементов массива А.

 

 

Напомним, что исходный одномерный массив содержит 9 элементов:  (5, 0, 4, -3, -7, 0, -2, -4, 0).По условию задачи необходимо поменять местами 2-ой нулевой элемент и последний положительный элемент.




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



Книжный магазин