Визначення змінних програми
Змінні програми ми також описуємо у порівнянні з роботою 4 . Пам'ять для масиву цілих чисел в нашій роботі не виділяється на етапі компіляції , так що нам достатньо оголосити в програмі тільки змінну - вказівник на початок масиву:
int * Ar ;
Розмірність масиву визначається при виконанні програми, так що для її збереження потрібна окрема змінна:
int size ;
Замість змінних, які в роботі 4 є індексами елементів масиву, ми будемо застосовувати вказівники:
int * Cr ;
це буде вказівник на поточний елемент масиву при його повному переборі , і :
int * Ir ;
в цьому вказівнику буде зберігатися адреса початку від’ємної послідовності , а потім - при обробці послідовності - адреса поточного її елемента.
Змінні для збереження суми елементів і середнього значення та кількості елементів у послідовності залишаються ті ж самі:
int av ;
int nn ;
Розробка тексту програми
/ ************************************************* *** /
/ * практична робота №5 * /
/ * вказівники та масиви * /
/ ************************************************* *** /
Висновки
При виконанні роботи вивчені питання:
• робота з масивами через вказівники;
• динамічне виділення і звільнення пам'яті .
Варіант 1
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
50 |
-100 - 100
|
Замінити всі елементи з від'ємним значенням на значення мінімального не рівного 0 додатнього елемента |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50
|
У всіх послідовностях від'ємних чисел поміняти місцями елементи з максимальним і мінімальним значеннями |
Варіант 2
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50
|
Підрахувати кількість пар сусідніх елементів з однаковими значеннями |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50
|
Поміняти місцями 1-й додатній елемент з останнім додатнім елементом, 2-й - передостаннім і т.д. |
Варіант 3
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
0 - 100
|
Підрахувати кількість ділянок, які утворюють безперервні послідовності чисел з незменшуваними значеннями |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50
|
Визначити середню довжину безперервних ділянок додатніх чисел |
Варіант 4
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50
|
Підрахувати кількість пар сусідніх елементів, які мають протилежні знаки |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
150 |
-75 - 55 |
Визначити, яке абсолютне значення зустрічається в масиві частіше за інших |
Варіант 5
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-100 - 100
|
Вивести початкові індекси всіх безперервних послідовностей невід'ємних чисел, довжина яких більше 5 |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50 |
Для кожного додатнього елемента визначити, чи є в масиві від'ємний елемент з протилежним значенням; якщо так, замінити ці елементи на 0 |
Варіант 6
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-100 - 100 |
Знайти ту безперервну послідовність додатніх чисел, сума елементів в якій максимальна |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50 |
Знайти безперервні ділянки, на яких сума елементів дорівнює 0 |
Варіант 7
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-100 - 100 |
Розмістити всі елементи з додатніми значеннями в лівій частині масиву, елементи з від’ємними значеннями - в правій, а нулі - між ними |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50
|
Замінити кожен елемент на середнє арифметичне його та його сусідів зліва і справа. |
Варіант 8
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-100 - 100
|
Замінити всі елементи з від’ємними значеннями середнім арифметичним значенням всіх додатніх елементів |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-150 - 150
|
Обмежити значення всіх елементів, абсолютні значення яких перевищують середнє для додатніх і від’ємних елементів |
Варіант 9
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
0 - 100
|
Знайти безперервний ділянку з 10 елементів, сума яких максимальна |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-100 - 100 |
Розмістити всі елементи з нульовими значеннями в лівій частині масиву, елементи з від’ємними значеннями - за ними, а за ними - елементи з додатніми значеннями |
Варіант 10
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
0 - 100 |
Знайти значення 3-го за величиною елемента і значення всіх елементів масиву, які його перевищують, замінити на знайдене значення |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50 |
Знайти з безперервних послідовностей від’ємних чисел ту, яка має найбільше абсолютне значення середнього арифметичного її елементів |
Варіант 11
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50
|
Знайти кількість пар сусідніх елементів, які мають однакові абсолютні значення, але протилежні знаки |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-75 - 100
|
Підрахувати кількість всіх, безперервних послідовностей додатніх чисел, довжина яких більше 7 |
Варіант 12
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-100 - 100 |
У всіх послідовностях додатніх чисел замінити значення елементів з максимальним і мінімальним значенням на середнє для цієї послідовності |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50
|
Вивести початкові індекси всіх безперервних знакозмінних послідовностей чисел |
Варіант 13
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
0 - 100
|
Знайти безперервний ділянку з 10 елементів, яка має найбільше середнє значення елементів |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
200 |
-50 - 50
|
Вивести початкові індекси всіх безперервних послідовностей чисел з незбільшуючими значеннями |
Варіант 14
Задача 1.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50
|
У всіх послідовностях додатніх чисел змінити порядок елементів на протилежний |
Задача 2.
Розмірність масиву |
Діапазон значень |
Що потрібно зробити
|
100 |
-50 - 50 |
Замінити всі елементи з додатніми значеннями абсолютним значенням від’ємного елемента з максимальним абсолютним значенням |