Рекомендації до виконання лабораторної роботи

ü Розмірністю не-динамічного масиву може бути лише константа або константний вираз. Рекомендується задавати розмірність масиву за допомогою іменованої константи. Наприклад:

# 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 бал).