Рекомендації до виконання лабораторної роботи
ü Розмірністю не-динамічного масиву може бути лише константа або константний вираз. Рекомендується задавати розмірність масиву за допомогою іменованої константи. Наприклад:
# include <iostream.h>
# define SIZE 25
void main()
{ int arr[SIZE];
const int n=50;
double mas[n];…}
ü Елементи масиву нумеруються з нуля, тому максимальний номер елемента масиву завжди на одиницю менший за розмірність. Наприклад, цикл для введення значень елементів масиву з клавіатури:
for(int i=0; i<n; i++)
{ cout<<”mas[“<<i<<”]=”;
cin>>mas[i]; cout<<endl;}
ü Автоматичного контролю за виходом індекса за межі розмірності масиву не виконується, тому потрібно слідкувати за цим самостійно.
ü Ім’я масиву – це вказівник-константа, який зберігає адресу нульового елементу масиву.
ü Для роботи з масивами змінної розмірності (тобто у випадку, коли розмірність масиву потрібно вказувати з клавіатури) зручно працювати з динамічними масивами. Динамічні масиви не можна ініціалізувати при визначенні. Проте робота з елементами статичних і динамічних масивів є аналогічною.
ü Після роботи з динамічними масивами, з-під них потрібно примусово звільняти пам’ять за допомогою команди delete [] <ім’я масиву>.
ü Рядок – це масив типу char, в кінці якого стоїть нульовий символ ’\0’.
ü Для розбиття числа на окремі цифри зручно працювати з ним, як з рядком символів. У бібліотеці <stdlib.h> є стандартні функції перетворення типів даних. Зокрема, функція atoi(str) перетворює рядок символів str у величину цілого типу int, функція atol(str) – у величину типу long int, функція itoa(<числове значення>, str, <система числення>) – величину цілого типу int у рядок str. Для перетворення даних типу double у рядок символів визначено функцію gcvt(<числові дані>,<кількість знаків у числі>, str), а зворотнє перетворення виконує функція strtod. Наприклад:
int n; long l;
double f; char str[6], *p;
Застосування функції | Результат |
n=atoi(“23”); | n=23 |
itoa(23, str, 10) | str=”23” |
l=atol(“32456”); | l=32456 |
ltoa(32456, str, 10); | str=”32456” |
gcvt(-3.14,4,str) | str=”-3.14” |
f=strtod(“-3.1415”,&p); | f=-3.14.15 |
Варіанти індивідуальних завдань
Варіант 5.1
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) суму від’ємних елементів масиву (3 бали);
2) добуток елементів масиву, розташованих між максимальним і мінімальним елементами (+1 бал);
3) впорядкуйте елементи масиву за зростанням (+1бал).
Варіант 5.2
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) суму додатних елементів масиву (3 бали);
2) добуток елементів масиву, розташованих між максимальним по модулю і мінімальним по модулю елементами (+1 бал);.
3) впорядкуйте елементи масиву за спаданням (+1 бал).
Варіант 5.3
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) добуток елементів масиву з парними номерами (3 бали);
2) суму елементів масиву, розташованих між першим і останнім нульовими елементами (+1 бал);
3) перетворіть масив таким чином, щоб спочатку розташовувалися всі додатні елементи, а потім – всі від’ємні (елементи, рівні нулю вважати додатними) (+1 бал).
Варіант 5.4
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) суму елементів масиву з непарними номерами (3 бали);
2) суму елементів масиву, розташованих між першим і останнім від’ємними елементами (+1 бал);
3) стисніть масив, видаливши з нього всі елементи, модуль яких не перевищує 1. Елементи, що звільнилися в кінці масиву, заповніть нулями (+1 бал).
Варіант 5.5
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) максимальний елемент масиву (3 бали);
2) суму елементів масиву, розташованих до останнього додатного елемента (+1 бал);
3) стисніть масив, видаливши з нього всі елементи, модуль яких знаходиться в інтервалі [a, b]. Елементи, що звільняються в кінці масиву, заповніть нулями (+1 бал).
Варіант 5.6
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) мінімальний елемент масиву (3 бал);
2) суму елементів масиву, розташованих між першим і останнім додатними елементами (+1 бал);
3) перетворіть масив таким чином, щоб спочатку розташовувалися всі елементи рівні нулю, а потім – всі решта (+1 бал).
Варіант 5.7
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) номер максимального елемента масиву (3 бали);
2) добуток елементів масиву, розташованих між першим і другим нульовими елементами (+1 бал);
3) впорядкуйте масив таким чином, щоб в першій його половині розташовувалися елементи, що знаходяться на непарних позиціях, в другій – елементи, що стоять на парних позиціях (+1 бал).
Варіант 5.8
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) номер мінімального елемента масиву ( 3 бали);
2) суму елементів масиву, розташованих між першим і другим від’ємними елементами (+1 бал);
3) впорядкуйте масив таким чином, щоб спочатку розташовувалися всі елементи, модуль яких не перевищує 1, а потім – всі решта (+1 бал).
Варіант 5.9
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) максимальний по модулю елемент масиву (3 бали);
2) суму елементів масиву, розташованих між першим і другим додатними елементами (+1 бал);
3) впорядкуйте масив таким чином, щоб елементи, рівні нулю, розташовувалися після всіх решта (+1 бал).
Варіант 5.10
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) мінімальний по модулю елемент масиву (3 бали);
2) суму модулів елементів масиву, розташованих після першого елемента, рівного нулю (+1 бал);
3) впорядкуйте масив таким чином, щоб у першій його половині розташовувалися елементи, що знаходяться на парних позиціях, а в другій – елементи на непарних позиціях (+1 бал).
Варіант 5.11
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) номер мінімального по модулю елемента масиву (3 бали);
2) суму модулів елементів масиву, розташованих після першого від’ємного елементу (+1 бал);
3) стисніть масив, видаливши з нього всі елементи, величина яких знаходиться в інтервалі [a, b]. Звільнені місця елементів масиву заповніть нулями (+1 бал).
Варіант 5.12
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) номер максимального по модулю елемента масиву (3 бали);
2) суму елементів масиву, розташованих після першого додатного елемента (+1 бал);
3) впорядкуйте масив таким чином, щоб спочатку розташовувалися всі елементи, ціла частина яких лежить в інтервалі [a,b], а потім всі решта (+1 бал).
Варіант 5.13
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) кількість елементів, що лежить в діапазоні від А до В (3 бали);
2) суму елементів масиву, розташованих після максимального елемента (+1 бал);
3) впорядкуйте масив за спаданням модулів його елементів (+1 бал).
Варіант 5.14
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) кількість елементів масиву рівних 0 (3 бали);
2) суму елементів масиву, розташованих після мінімального (+1 бал);
3) впорядкуйте елементи масиву за зростанням їх модулів (+1 бал).
Варіант 5.15
В одновимірному масиві, що складається з n дійсних елементів, знайдіть:
1) кількість елементів більших за С (3 бали);
2) добуток елементів масиву, розташованих після максимального по модулю елемента(+1 бал);
3) впорядкуйте масив таким чином, щоб спочатку розташовувалися всі від’ємні елементи, а потім – всі додатні (елементи, рівні нулю, вважати додатними) (+1 бал).
Варіант 5.16
В одновимірному масиві, що складається з n дійсних елементів, запишіть:
1) Виокремлені з числа N цифри кратні 3 (3 бали);
2) впорядкуйте їх за зростанням (+1 бал);
3) змістіть циклічно елементи масиву на К позицій вправо (+1 бал).
Варіант 5.17
Для заданого цілого числа N визначіть цифру а, яка найчастіше зустрічається у даному числі (+ 3 бали). Сформуйте одновимірний масив з 5 елементів: a, а2, а3, а4, а5 (+ 1 бал). Організуйте циклічний зсув елементів даного масиву на К позицій вліво (+1 бал).
Варіант 5.18
Дано число N цілого типу. Розбийте його на окремі цифри і запишіть їх в одновимірний масив (+3 бали). Визначіть, чи дане число - симетричне, тобто чи цифри зліва і справа одинакові (наприклад, 12321) (+1 бал). Впорядкуйте масив таким чином, щоб спочатку розташовувалися парні числа, а потім всі решта (+1 бал).
Варіант 5.19
Задано два масиви з N цілих чисел. Знайдіть найменше серед чисел першого масиву, яке не міститься у другому масиві (+ 3 бали). Переставте елементи першого масиву, які знаходяться на парних позиціях, на непарні місця у другому масиві (+1 бал). Замініть всі числа, які є повними квадратами, на їх куби (+ 1 бал).
Варіант 5.20
Введіть з клавіатури довільне число. Ознакою кінця вводу є натиснення клавіші "Enter". Визначіть довжину введеного рядка (+3 бали) якщо його довжина кратна 2, видаліть з нього цифри, які діляться на 2 (+ 1 бал), розмістіть цифри у масиві за спаданням (+ 1 бал) .
Варіант 5.21
Введіть з клавіатури рядок символів. Ознакою закінчення вводу рядка є натиснення клавіші "Enter". Збережіть рядок у масиві. Замініть у рядку довжиною К символів всі пробіли на символ $ (+ 3 бали). Якщо довжина рядка К>10, видаліть з нього всі цифри (+ 1 бал). Сформуйте новий масив, який би містив латинські літери з введеного рядка у алфавітному порядку (+ 1 бал).
Варіант 5.22
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина L кратна 3, видаліть з рядка усі числа, що діляться на 3 (+1 бал). Знайдіть кількість голосних у даному рядку (+ 1 бал).
Варіант 5.23
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина L кратна 4, знайдіть кількість дужок усіх видів (+ 1 бал). Сформуйте новий масив шляхом копіювання першої половини існуючого масиву на місце другої його половини (+ 1 бал).
Варіант 5.24
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Знайдіть кількість приголосних у введеному рядку (+ 1 бал). Якщо довжина введеного рядка L кратна 4, перша частина рядка міняється місцями з його другою частиною (+ 1 бал).
Варіант 5.25
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина рядка L=10, видаліть з нього всі літери від A до з Z (+ 1 бали). У даному рядку поміняйте місцями символи на парних і непарних позиціях (+ 1 бал).
Варіант 5.26
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина L>6, знайдіть у рядку першу і останню цифру і замініть їх відповідно на дужки{}. Видаліть з рядка всі коми (+ 1 бал).
Варіант 5.27
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина рядка L=20, видаліть з нього всі літери від а до k (+ 1 бали). Символи на парних позиціях замініть на їх індекси (+ 1 бал).
Варіант 5.28
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина рядка L>10, видаліть з нього всі цифри (+ 1 бали). Знайдіть перший пробіл у рядку і видаліть частину рядка після нього (+ 1 бал).
Варіант 5.29
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина рядка L>10, знайдіть кількість знаків пунктуації (+ 1 бали). У даному рядку попарно поміняйте місцями сусідні символи (+ 1 бал).
Варіант 5.30
Введіть з клавіатури рядок символів. Ознакою закінчення вводу є натиснення клавіші "Enter". Збережіть рядок у масиві. Визначіть довжину введеного рядка L (+ 3 бали). Якщо довжина рядка L кратна 3, замініть всі літери на позиціях кратних 3, на їх індекси (+1 бали). У даному рядку поміняйте місцями 3 перші символи на три останні (+ 1 бал).