Видалити з масиву парні елементи

Дану задачу можна вирішити кількома способами.

Спосіб 1. Скопіювати в інший масив тільки непарні елементи.

Це найпростіший спосіб видалення елементів масиву (в даному випадку парних чисел), так як не потрібно стискати вихідний масив. У представленому вище рішенні завдання змінна m зберігає кількість знайдених непарних елементів і в той же час, при заповненні другого масиву є мінливим індексом елементів.

Спосіб 2. Видаляти парні елементи в поточному масиві, переписуючи їх розташованими правіше непарними.

Цей спосіб вирішення завдання складніше. Тут якщо зустрічається парний елемент, то весь залишок масиву зсувається на одну клітинку вперед. При цьому знайдений парний елемент затирається. Мінлива m зменшується, т. К. Кількість елементів масиву стає менше.

Цей спосіб слід вважати найбільш раціональним (проте в шкільному курсі відкриті масиви можуть не вивчатися). У попередніх варіантах по-суті масиви не зменшувались, на екрані з'являлася лише частина масиву. Можна було б взагалі просто перебрати вихідний масив, нічого з ним не робити і вивести на екран тільки непарні елементи.

Відкритий масив дозволяє змінювати свою довжину. У виконанні завдання нижче після того як непарні елементи зрушені і "затерли" непарні, змінюється довжина масиву (процедурою setlength). Вона встановлює нову довжину масиву. Особливістю відкритих масивів в Pascal є те, що їх індексація починається з нуля.

Приклад виконання коду програми:

Схожі статті