Отбор нужных элементов
Требуется отобрать все элементы массива А, удовлетворяющие некоторому условию, в массив В. «Очевидное» решение:
На самом деле это решение неудачное, потому что нужные элементы в массиве В оказываются расположенными вразброс, на тех местах, где они стояли в массиве А. Поэтому работать с таким массивом В очень неудобно. На рисунке 8.8 изображён случай, когда отбираются элементы с чётными значениями.
Рис. 8.8
Будет удобно, если все отобранные элементы будут стоять в начале массива В (рис. 8.9).
Рис. 8.9
Для этого вводят переменную-счётчик, в которой считают количество найденных элементов. Сначала её значение равно нулю. Как только очередной подходящий элемент найден, счётчик увеличивается на 1, и теперь значение счётчика — это номер первой свободной ячейки массива В, в неё и записывается найденное значение. Программа, отбирающая все элементы с чётными значениями, выглядит так:
Нужно помнить, что только первые count элементов массива В рабочие, остальные содержат неизвестные данные. Например, вот так можно вывести найденные элементы на экран:
Если вместо массива В использовать тот же массив А, где находятся исходные числа, все «нужные» элементы будут сгруппированы в начале, а их количество записано в переменной count (рис. 8.10).
Рис. 8.10
Следующая страница Вопросы и задания