Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Додаток до роботи № 5.1 н

.doc
Скачиваний:
7
Добавлен:
30.05.2020
Размер:
61.44 Кб
Скачать

Додаток №1 до лабораторної роботи5

Тема: Обробка одновимірних масивів.

Мета: Вдосконалити роботу з складеним типом даних – масив.

Теоретична частина

Масив - кінцева послідовність даних одного типу.

Масив - об'єкт складного типу, кожен елемент якого визначається ім'ям (ID) і цілочисельним значенням індексу (номери), по якому до елементу масиву проводиться доступ. Розглянемо одновимірні масиви.

Увага! Індекси масивів в мові С/С++ починаються з 0.

У програмі одновимірний масив декларується таким чином:

тип ID масиву [розмір];

де розмір - вказує кількість елементів в масиві. Розмір масиву може задаватися константою або константним вираженням. Для використання масивів змінного розміру існує окремий механізм - динамічне виділення пам'яті.

Приклади декларації масивів :

int a[5];

double b[4] = 1.5, 2.5, 3.75;

у цілочисельному масиві а перший елемент а[0], другий - а[1], ., п'ятий - а[4]. Для масиву b, що складається з дійсних чисел, виконана ініціалізація, причому елементи масиву отримають наступні значення: b[0]=1.5, b[1]=2.5, b[2]=3.75, b[3]=0.

У мові С/С++ не перевіряється вихід індексу за межі масиву. Коректність використання індексів елементів масиву повинен контролювати програміст.

Приклади опису масивів :

const Nmax=10; - завдання максимального значення;

typedef double mas1[Nmax*2]; - опис типу одновимірного масиву;

mas1 a; - декларація масиву а типу mas1;

int ss[10]; - масив з десяти цілих чисел.

Елементи масивів можуть використовуватися у виразах так само, як і звичайні змінні, наприклад:

f = 2*a[3] + a[Ss[i] + 1]*3;

a[n] = 1 + sqrt(fabs(a[n - 1]));

На основі теоретичного матеріалу лабораторної роботи №6 та згідно свого варіанту, написати і відлагодити програму з використанням одновимірних масивів

Обрати номер завдання згідно номеру в списк підгрупи. (додаток А)

  1. Дані масиви A і B однакового розміру N. Поміняти місцями їх вміст і вивести спочатку елементи перетвореного масиву A, а потім — елементи перетвореного масиву B.

  2. Даний масив A розміру N. Сформувати новий масив B того ж розміру, елементи якого визначаються таким чином: BK = 2·AK якщо AK < 5, AK/2 в протилежному випадку.

  3. Дано два масиви A і B однакового розміру N. Сформувати новий масив C того ж розміру, кожен елемент якого рівний максимальному з елементів масивів A і B з тим же індексом.

  4. Даний цілочисельний масив A розміру N. Переписати в новий цілочисельний масив B всі парні числа з початкового масиву (у тому ж порядку) і вивести розмір отриманого масиву B і його вміст.

  5. Даний цілочисельний масив A розміру N (u 15). Переписати в новий цілочисельний масив B всі елементи з непарними порядковими номерами (1, 3 .) і вивести розмір отриманого масиву B і його вміст. Умовного оператора не використовувати.

  6. Даний цілочисельний масив A розміру N (Е 15). Переписати в новий цілочисельний масив B всі елементи з порядковими номерами, кратними трьом (3, 6 .), і вивести розмір отриманого масиву B і його вміст. Умовного оператора не використовувати.

  7. Даний цілочисельний масив A розміру N. Переписати в новий цілочисельний масив B того ж розміру спочатку всі елементи початкового масиву з парними номерами, а потім — з непарними: A2, A4, A6, …, A1, A3, A5, … Условный оператор не використовувати.

  8. Даний масив A розміру N. Сформувати новий масив B того ж розміру за наступним правилом: елемент BK рівний сумі елементів масиву A з номерами від 1 до K.

  9. Даний масив A розміру N. Сформувати новий масив B того ж розміру за наступним правилом: елемент BK рівний середньому арифметичному елементів масиву A з номерами від 1 до K.

  10. Даний масив A розміру N. Сформувати новий масив B того ж розміру за наступним правилом: елемент BK рівний сумі елементів масиву A з номерами від K до N.

  11. Даний масив A розміру N. Сформувати новий масив B того ж розміру за наступним правилом: елемент BK рівний середньому арифметичному елементів масиву A з номерами від K до N.

  12. Даний масив A розміру N. Сформувати два нові масиви B і C: у масив B записати всі позитивні елементи масиву A, в масив C — всі негативні (зберігаючи початковий порядок проходження елементів). Вивести спочатку розмір і вміст масиву B, а потім — розмір і вміст масиву C.

Номер завдання обрати згідно загального списку групи. (Додаток Б)

При виконанні завдань на перетворення масиву не слід використовувати допоміжні масиви.

  1. Даний масив A розміру N і ціле число K (1 < K < N). Перетворити масив, збільшивши кожен його елемент на початкове значення елементу AK. Значення К задається з клавіатури.

  2. Даний цілочисельний масив розміру N. Збільшити всі парні числа, що містяться в масиві, на початкове значення першого парного числа. Якщо парні числа в масиві відсутні, то залишити масив без змін.

  3. Даний цілочисельний масив розміру N. Збільшити всі непарні числа, що містяться в масиві, на початкове значення останнього непарного числа. Якщо непарні числа в масиві відсутні, то залишити масив без змін.

  4. Даний масив розміру N. Поміняти місцями його мінімальний і максимальний елементи.

  5. Даний масив розміру N (N — парне число). Поміняти місцями його перший елемент з другим, третій, — з четвертим і так далі.

  6. Даний масив розміру N (N — парне число). Поміняти місцями першу і другу половини масиву.

  7. Даний масив розміру N. Поміняти порядок його елементів на зворотний.

  8. Даний масив A розміру N і цілі числа K і L (1 < K < L < N). Переставити в зворотному порядку елементи масиву, розташовані між елементами AK і AL, включаючи ці елементи.

  9. Даний масив A розміру N і цілі числа K і L (1 < K < L < N). Переставити в зворотному порядку елементи масиву, розташовані між елементами AK і AL, не включаючи ці елементи.

  10. Даний масив розміру N. Обнулити елементи масиву, розташовані між його мінімальним і максимальним елементами (не включаючи мінімальний і максимальний елементи).

  11. Даний масив розміру N. Переставити в зворотному порядку елементи масиву, розташовані між його мінімальним і максимальним елементами, включаючи мінімальний і максимальний елементи.

  12. Даний масив розміру N. Обнулити всі його локальні максимуми (тобто числа, більші від своїх сусідів).

  13. Даний масив розміру N. Звести в квадрат всі його локальні мінімуми (тобто числа, менші від своїх сусідів).

  14. Даний масив розміру N. Замінити кожен елемент масиву на середнє арифметичне цього елементу і його сусідів (середнє арифметичне ТРЬОХ елементів).

  15. Даний масив розміру N. Здійснити зрушення елементів масиву управо на одну позицію (при цьому A1 перейде в A2, A2 — в A3 ., AN-1 — в AN, а початкове значення останнього елементу буде втрачено). Перший елемент отриманого масиву покласти рівним 0.

  16. Даний масив розміру N. Здійснити зрушення елементів масиву вліво на одну позицію (при цьому AN перейде в AN-1, AN-1 — в AN-2 ., A2 — в A1, а початкове значення першого елементу буде втрачено). Останній елемент отриманого масиву покласти рівним 0.

  17. Даний масив розміру N і ціле число K (1 < K < N). Здійснити зрушення елементів масиву управо на K позицій (при цьому A1 перейде в AK+1, A2 — в AK+2 ., AN-K — в AN, а початкове значення K останніх елементів буде втрачено). Перші K елементів отриманого масиву покласти рівними 0.

  18. Даний масив розміру N і ціле число K (1 < K < N). Здійснити зрушення елементів масиву вліво на K позицій (при цьому AN перейде в AN-K, AN-1 — в AN-K-1, AK+1 — в A1, а початкове значення K перших елементів буде втрачено). Останні K елементів отриманого масиву покласти рівними 0.

  19. Даний масив розміру N. Здійснити циклічне зрушення елементів масиву управо на одну позицію (при цьому A1 перейде в A2, A2 — в A3 ., AN — в A1).

  20. Даний масив розміру N. Здійснити циклічне зрушення елементів масиву вліво на одну позицію (при цьому AN перейде в AN-1, AN-1 — в AN-2 ., A1 — в AN).

  21. Даний масив A розміру N і ціле число K (1 < K < N). Здійснити циклічне зрушення елементів масиву управо на K позицій (при цьому A1 перейде в AK+1, A2 — в AK+2, AN — в AK). Допускається використовувати допоміжний масив з 4 елементів.

  22. Даний масив A розміру N і ціле число K (1 < K < N). Здійснити циклічне зрушення елементів масиву вліво на K позицій (при цьому AN перейде в AN-K, AN-1 — в AN-K-1, A1 — в AN-K+1). Допускається використовувати допоміжний масив з 4 елементів.

  23. Даний масив А розміру N. Знайти в нім максимальний і мінімальний елементи і замінити на середнє арифметичне мінімального і максимального елементів ті члени масиву, які мають індекси, кратні 2.

  24. Даний масив А розміру N. Знайти середнє геометричне елементів масиву і замінити набутого значення ті елементи масиву, які більше мінімального елементу на 4, а якщо таких елементів немає, вивести відповідне повідомлення.

Хід виконання роботи.

Запустити середовище візуальної розробки та ознайомитися з інтерфейсом.

За наданими методичними вказівками створити проект та ознайомитися з властивостями використаних компонентів.

Оформити звіт до виконаної роботи.

Структура звіту

  1. Назва роботи.

  2. Тема роботи.

  3. Мета роботи.

  4. Перелік використних компонентів.

  5. Властивості використаних компонентів та події, що вони забезпечують. (Доцільно оформити у вигляді таблиці.)

  6. Скрін-шот працюючого додатку.

  7. Програмний код додатку.

  8. Відповіді на контрольні питання до роботи.

Виконання додатку А оцінюється на задовільно та добре.

Виконання додатку Б оцінюється на добре та відмінно.

Література:

  1. Березін Б.І., Березін С.Б. Початковий курс С і C++. — М.: ДІАЛОГ-МІФІ, 1996

  2. Ван Тассел Д. Стиль, розробка, ефективність, відладка і випробування програм. — М.: Світ, 1981.

  3. Подбельський В.В. Мова Си++. — М.: Фінанси і статистика, 1996.

  4. Паппас К., Мюррей У. Программирование на С і C++. — Київ: «Ірина»; BHV, 2000.

5

Соседние файлы в предмете Объектно ориентированное программирование