|
|
|
§ 8. Структурированные типы данных. Массивы
Проверка соответствия элементов массива некоторому условию
Зачастую бывает важно выяснить, сколько элементов, обладающих определённым свойством, содержится в массиве. Для решения этой задачи следует: 1) присвоить нулевое значение переменной, введённой для подсчёта количества элементов, удовлетворяющих заданному условию (k := 0); 2) организовать просмотр всех элементов массива: если просматриваемый элемент удовлетворяет заданному условию, значение переменной k увеличивать на 1. Фрагмент программы подсчёта количества элементов массива, например больших некоторого числа р, имеет вид:
Как модифицировать программу, чтобы можно было вычислить сумму элементов массива, ббльших некоторого числа р?
Для того чтобы установить факт соответствия всех элементов массива некоторому условию, достаточно: 1) подсчитать количество элементов массива, соответствующих заданному условию; 2) сравнить найденное количество с общим числом элементов массива и вывести соответствующий результат.
Рассмотрим алгоритм, позволяющий определить, упорядочены ли элементы массива а[1..n] по неубыванию, т. е. каждый элемент массива с 1-го по (n - 1)-й не больше последующего. Самый простой путь решения этой задачи — проверить, есть ли в массиве такие пары элементов, что a[i] > a[i + 1]. Если подобные пары элементов есть, то массив не упорядочен по неубыванию, а если таких пар нет, то упорядочен. В программе будем использовать логическую переменную flag:
Ниже представлен фрагмент программы, реализующей этот алгоритм:
Как можно решить эту же задачу путём подсчёта количества пар элементов массива, таких что a[i] > a[i + 1] (а[i] <= а[i + 1])?
|
|
|