Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, сокращенный курс, 2 часа в неделю)



Уроки 47 - 48
Линейный поиск в массиве. Отбор элементов массива по условию
§63. Алгоритмы обработки массивов




Содержание урока

Поиск в массиве

Максимальный элемент

Реверс массива

Сдвиг элементов массива

Отбор нужных элементов

Вопросы и задания

Задачи


Отбор нужных элементов


Требуется отобрать все элементы массива А, удовлетворяющие некоторому условию, в массив В. «Очевидное» решение:

На самом деле это решение неудачное, потому что нужные элементы в массиве В оказываются расположенными вразброс, на тех местах, где они стояли в массиве А. Поэтому работать с таким массивом В очень неудобно. На рисунке 8.8 изображён случай, когда отбираются элементы с чётными значениями.

Рис. 8.8

Рис. 8.8

Будет удобно, если все отобранные элементы будут стоять в начале массива В (рис. 8.9).

Рис. 8.9

Рис. 8.9

Для этого вводят переменную-счётчик, в которой считают количество найденных элементов. Сначала её значение равно нулю. Как только очередной подходящий элемент найден, счётчик увеличивается на 1, и теперь значение счётчика — это номер первой свободной ячейки массива В, в неё и записывается найденное значение. Программа, отбирающая все элементы с чётными значениями, выглядит так:

Нужно помнить, что только первые count элементов массива В рабочие, остальные содержат неизвестные данные. Например, вот так можно вывести найденные элементы на экран:

Если вместо массива В использовать тот же массив А, где находятся исходные числа, все «нужные» элементы будут сгруппированы в начале, а их количество записано в переменной count (рис. 8.10).

Рис. 8.10

Рис. 8.10



Следующая страница Вопросы и задания



Cкачать материалы урока







Наверх