Приклади розв’язання задач з обробки масивів

If I Mod 6 = 0 Then Writeln;

Приклад 2.3. У масиви вводяться елементи двох послідовностей Ai і Bj цілих чисел, які містять 6 і 8 елементів відповідно.

Ai - неубутна і Bj - незростаюча послідовності. Ні-обходимо вивести на екран загальний список значень елементів цих послідовностей по їх зростанню без створення третього масиву.

Для вирішення цього завдання необхідно кожен раз перед ви-водом на екран чергового числа порівнювати два числа з різних масивів, поки вони не закінчилися, і виводити на екран менше з них.

Відповідно до умов завдання, масив А починаємо переглядати з першого осередку, а масив В - з останньої, тобто

якщо умова А [1]<В[8] выполняется - на экран выводится А[1];

якщо умова А [2]<В[8] не выполняется - на экран выводится В[8];

якщо умова А [2]<В[7] не выполняется - на экран выводится В[7];

якщо умова А [2]<В[6] не выполняется - на экран выводится В[6];

якщо умова А [3]<В[1] не выполняется - на экран выводится В[1].

Подальше порівняння чисел з двох масивів неможливо, так як один з них (масив В) закінчився. Що залишилися в масиві А числа слід вивести на екран.

Відзначимо, що якийсь з двох масивів закінчиться раніше, визначається числами, що знаходяться в ньому, а не довжиною масиву, тому при складанні цьо-ванні програми необхідно передбачити висновок на екран залишилися чи-сіл і з масиву А. і з масиву В.

Аналізуючи наведені вище рядки порівняння чисел з різних мас-Сівов, приходимо до висновку:

- індекси елементів масиву змінюються, тому введемо змінні для формування індексів (К1 і К2);

- початкове значення індексу елементу в масиві А - До 1 дорівнює 1; початкове значення індексу елементу в масиві В - К 2 дорівнює 8;

- порівнювати числа з різних масивів можна до тих пір, поки один з масивів не закінчиться, тобто поки До 1<=6, а К 2>1.

A. ARRAY [1..6] OF INTEGER;

B. ARRAY [1..8] OF INTEGER;

I, K1, K2. INTEGER;

Writeln ( 'Введіть масив А');

FOR I: = K2 DownTo 1 Do

Прімер2.4. У одновимірний масив ввести N довільних чисел. Заданий індекс До одного з елементів масиву. Потрібно записати в зворотному порядку всі елементи, які стоять ліворуч і праворуч від заданого К. Вивести на екран в рядок новий масив.

Припустимо, що вихідний масив (A (N)) заповнений довільно, а К = 5.

Аналізуючи розташування чисел у новому масиві, прихо-дим до висновку, що для вирішення даного завдання слід виконати обмін еле-ментів окремо зліва і праворуч від елемента з індексом К.

Зліва повинні мінятися місцями елементи: А [1] з А [4]; А [2] з А [3]. Справа повинні змінюватися елементи: А [6] з А [14]; А [7] з А [13]; А [8] з А [12]; А [9] з А [11].

При обміні індекси елементів змінюються, тому для їх формирова-ня вибираємо змінні L і PR.

Для реалізації запропонованого алгоритму необхідно організувати два циклу (обмін зліва від До і обмін праворуч від К), поки індекс лівої змінної менше індексу правої змінної (L

A. ARRAY [1..100] OF REAL;

I, N, K, L, PR. INTEGER;

Write ( 'Введіть розмір масиву (не більше 100)');

If I Mod 6 = 0 Then Writeln;

Приклад 2.5. Ввести два одновимірних масиву (перший з N цілих чисел, другий - з 5 різних цілих чисел). Видалити з першого масиву числа, яку воно містить-еся у другому. При видаленні елементів першого масиву він повинен бути стиснутий переміщенням елементів, що залишилися в масиві.

Якщо будь-яка кількість з другого масиву не зустрілося в першому жодного разу, вивести відповідне повідомлення. Вивести змінений масив.

Для вирішення завдання слід по черзі кожне число з масиву В порівнювати на збіг з кожним числом масиву А.

При збігу здійснюється переміщення справа наліво всіх чисел, що стоять правіше знайденого. Наприклад, якщо знайдено число в комірці А [2], то здійснюється послідовне переміщення:

А [2] А [3], А [3] А [4], А [4] А [5]. А [Х -1] А [Х],

де Х - змінна, яка визначає мінливу довжину стискається »масиву.

A. ARRAY [1. 100] OF INTEGER;

B. ARRAY [1. 5] OF INTEGER;

N, I, J, X, F, K. INTEGER;