Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Примеры алгоритмов обработки массивов




ПРИМЕР 3.1. Дан массив А состоящий из k целых положительных чисел. Записать все четные по значению элементы массива А в массив В.

Решение задачи заключается в следующем. Последовательно перебираются элементы массива А. Если среди них находятся четные, то они записываются в массив В. На рисунке 3.14 видно, что первый четный элемент хранится в массиве А под номером три, второй и третий под номерами пять и шесть соответственно, а четвертый под номером восемь. В массиве В этим элементам присваиваются совершенно иные номера. Поэтому для их формирования необходимо определить дополнительную переменную. В блок-схеме приведенной на рисунке 3.15 роль такой переменной выполняет переменная m. Операция, выполняемая в блоке 2, означает, что в массиве может не быть искомых элементов. Если же условие в блоке 5 выполняется, то переменная m увеличивается на единицу, а значение элемента массива А записывается в массив В под номером m (блок 6). Условный блок 7 необходим для того, чтобы проверить выполнилось ли хотя бы раз условие поиска (блок 5).

Рис. 3.14 Процесс формирование массива В из элементов массива А

 

Рис. 3.15 Формирование массива В из соответствующих элементов массива А

ПРИМЕР 3.2. Задан массив Y из n целых чисел. Сформировать массив Z таким образом, чтобы в начале шли отрицательные элементы массива Y, затем положительные и, наконец, нулевые. Блок-схема представлена на рис. 3.16.

ПРИМЕР 3.3. Переписать элементы массива X в обратном порядке. Блок-схема представлена на рис. 3.17. Алгоритм состоит в следующем: меняем местами 1-й и n -й элементы, затем 2-й и n -1-й элементы, и т.д. до середины массива (элемент с номером i следует обменять с элементом n+1-i).

ПРИМЕР 3.4. Задан массив из n элементов. Сформировать массивы номеров положительных и отрицательных элементов. Блок-схема представлена на рис. 3.18.

Рис. 3.16. Алгоритм примера 3.2

 

Рис. 3.17. Фрагмент блок-схемы к примеру 3.3

 

Рис. 3.18. Алгоритм примера 3.4

ПРИМЕР 3.5. Удалить из массива X, состоящего из n элементов, первые четыре нулевых элемента.

Вначале количество нулевых элементов равно нулю (k=0). Последовательно перебираем все элементы массива. Если встречается нулевой элемент, то количество нулевых элементов увеличиваем на 1 (k=k+1). Если количество нулевых элементов меньше или равно 4, но удаляем очередной нулевой элемент, иначе аварийно выходим из цикла (встретился пятый нулевой элемент и дальнейшая обработка массива бесполезна). Блок-схема представлена на рис. 3.19.

ПРИМЕР 3.6. Массив целых чисел С состоит из N элементов, найти сумму простых чисел, входящих в него.

Идея алгоритма состоит в следующем. Сначала сумма равна 0. Последовательно перебираем все элементы, если очередной элемент простой, то добавляем его к сумме. Блок-схема алгоритма изображена на рис. 3.20.

Рис. 3.19. Алгоритм примера 3.5 Рис. 3.20. Алгоритм примера 3.6

ПРИМЕР 3.7. Определить есть ли в заданном массиве серии элементов, состоящих из знакочередующихся чисел (рис. 3.21). Если есть, то вывести на экран количество таких серий.

Рис. 3.21. Рисунок к примеру 3.7

На рис. 3.22 изображена блок-схема решения поставленной задачи.

Здесь переменная k - количество элементов, попадающих в серию, kol - количество знакочередующихся серий в массиве.

Рис. 3.22. Блок-схема решения задачи примера 3.7

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных