8.6. Вправи
Вправа 1
Написати функцію, що повертає логічне значення true, якщо натиснуто клавішу "Y" або "y" і значення false, якщо натиснуто клавішу "N" або "n". Натискання будь-якої іншої клавіші
функція повинна ігнорувати.
Вправа 2
Створити функцію, яка знаходить найбільший і найменший елементи одновимірного масиву типу double.
Вправа 3
Створити функцію, яка повертає посилання на найбільший елемент наданого одновимірного масиву з елементами типу double.
Вправа 4
Створити функцію з двома аргументами, які є посиланнями на змінну типу int, таким чином, щоб вона присвоювала значення 0 тій змінній-параметру, значення якої є меншим.
Вправа 5
Написати програму, що вирішує наступне завдання. Є числовий масив. Обчислити середнє значення, дисперсію, відносне середньоквадратичне відхилення від середнього для елементів заданого масиву. Для обчислення середнього значення елементів масиву побудувати функцію.
Вправа 6
Напишіть функцію, що виконує піднесення значення дійсного типу double до цілого степеня. Степінь може бути додатнім або від’ємним.
Вправа 7
Написати функцію pow(x,p) для піднесення дійсного числа x у цілий степінь p. Для обчислення спробуйте застосувати алгоритм більш швидкий, ніж алгоритм, у якому передбачено послідовне виконання операції множення p-1 раз .
Вправа 8
Написати функцію, що обчислює поліном Pn(x) заданого порядку n для наданого x.
Вправа 9
Створити процедуру сортування (впорядкування) одновимірного масиву з елементами типу float. Процедура повинна перетворювати невпорядкований масив у впорядкований. Впорядкування повинно виконуватись по збільшенню чи по зменшенню значень елементів відповідно до наданого значення параметра функції q. При побудові процедури застосувати параметр типу посилання для передачі масиву для впорядкування.
Вправа 10
Створити функцію, яка виконує лексикографічне порівняння двох одновимірних масивів типу int.
Вправа 11
Задано перечислюваний тип enum color { black, white, red, green, blue }
Написати функцію, що перетворює значення типу color у значення, яке відповідає рядку символів.
Вправа 12
Створити функцію, яка створює новий одновимірний динамічний масив типу float, який є копією іншого наданого масиву.
Вправа 13
Створити функцію, яка створює одновимірний динамічний масив таким чином, що він є конкатенацією (тобто отриманий з'єднанням) двох заданих масивів типу short.
Вправа 14
Створити набір функцій для виконання наступних операцій над прямокутними числовими матрицями з елементами типу float: створення й знищення матриці як динамічного масиву, присвоєння значення матриці, виведення матриці на екран.
Вправа 15
Написати функцію, яка дає можливість отримати бінарний код значення типу unsigned int. Функція повинна повертати значення типу char*.
Вправа 16
Написати функцію, яка знаходить відстань Хеммінга для значень x, y цілочислового типу unsigned int. Відстань Хеммінга - це кількість не співпадаючих бітів у бінарний кодах змінних x,y.
Вправа 17
Задані змінні х, y деякого цілого типу. Написати функцію, що знаходить відстань Хеммінга для значень x, y при умові, що вони можуть належати до будь-якого цілочислового типу. Застосувати шаблони.
Вправа 18
Написати функцію, яка підраховує кількість одиниць у бінарному коді значення х. Тип змінної x - unsigned int.
Вправа 19
Задана змінна х деякого цілого типу. Написати функцію, що знаходить число одиниць у бінарному коді значення х при умові, що воно може належати до будь-якого цілочислового типу. Застосувати шаблони.
Вправа 20
Створити функцію, що повертає значення машинної похибки для будь-якого наданого дійсного типу. Для передачі бажаного типу у функцію бажаного типу використати шаблони. Машинною похибкою вважається найбільше число eps, при якому логічний вираз 1+ eps == 1 має значення true.
Вправа 21
Задана змінна х цілого типу. Написати функцію, що виводить на екран бінарний код значення х. Функція повинна спрацьовувати для аргументу довільного цілого типу. Застосувати шаблони.
Вправа 22
Напишіть програму, що обчислює довжину гіпотенузи прямокутного трикутника і його площу по заданих довжинах катетів. Передбачити передачу вхідних даних - довжин катетів трикутника за допомогою командного рядка. Застосувати функцію main() з параметрами для роботи з командним рядком.
Вправа 23
Створити набір функцій для виконання таких операцій над квадратними чисельними матрицями типу float: створення та знищення матриць як динамічних масивів, виведення матриці на екран, складання та множення матриць.
Вправа 24
Написати функції для створення та знищення одновимірних масивів з елементами довільного типу. Застосувати шаблони. Передбачити контроль виконання операції створення масиву.
Вправа 25
Написати функцію, яка створює копію двохвимірного масиву з елементами довільного типу. Застосувати шаблони.
Вправа 26
Написати функцію, яка знаходить найбільший і найменший елементи одновимірного масиву з елементами довільного типу. Застосувати шаблони.
Вправа 27
Написати функцію, яка об’єднує два одновимірних масива у один, приєднуючи один до одного. Тип, якому належать елементи масивів - довільний. Застосувати шаблони.
Вправа 28
Написати функцію для знаходження мінімаксної та максимінної седлових точок прямокутної матриці. Тип елементів матриці не визначено. При побудові функції застосувати шаблони.
Вправа 29
Написати функцію для обчислення визначеного інтегралу із застосуванням формули Сімпсона. Для передачи підінтегральної функції у якості параметра застосувати покажчик на функцію. Написати програму, яка виконує тестування функції обчислення інтегралу.
Yandex.RTB R-A-252273-3
- Запоріжжя знту 2008
- Глава 1
- 1.1. Історія та сучасність
- 1.2. Загальна структура програми. Два простих приклади
- Void main()
- Void main()
- Глава 2 Об’єкти та ідентифікатори
- 2.1. Об'єкти та їхні атрибути
- 2.2. Алфавіт мови та лексеми
- 2.3. Ідентифікатори
- Void main() // (рівень 0)
- 2.4. Вправи
- Глава 3
- 3.1. Поняття виразу. Вирази Lvalue та Rvalue
- 3.2. Операції. Пріоритети та асоціативність
- Void main()
- Void main()
- Void main()
- 3.3. Вправи
- Глава 4
- 4.1. Види операторів
- 4.2. Стандартні оператори
- If (лв) опер_1; [ else опер_2; ]
- Void main()
- If (лв1) опер_1;
- Void main()
- Void main()
- Void main()
- Void main()
- Void main()
- 4.3. Оголошення змінних та ініціалізація
- Int number(125);
- Int number(125);
- 4.4. Константи і константні об'єкти
- Void main()
- 4.5. Вправи
- Глава 5
- 5.1. Типи та їхні різновиди
- 5.2. Службове слово void
- Int a[small], a[large];
- 5.4. Перетворення типів
- 5.5. Вправи
- Void main()
- Глава 6 покажчики і посилання
- 6.1. Покажчики
- Void main()
- Void strcpy(char* s1, char* s2)
- Void* pv;
- 6.2. Посилання
- 6.3 Вправи
- Void main()
- Глава 7 масиви і динамічні об'єкти
- 7.1. Масиви
- Void main()
- 7.2. Рядки символів
- Int strlen(char* s);
- Int strcmp(char* s1, char* s2);
- Int len(char *s)
- 7.3. Динамічні об'єкти й масиви
- Void main()
- Void main()
- Void main()
- Void main()
- 7.4. Вправи
- Глава 8 функції та процедури
- 8.1. Загальні відомості
- Void main()
- Void c_mul(double a_re, double a_im,
- Void swap1(long *px, long *py)
- Void swap2(long &X, long &y)
- Void main()
- Int fun(int, float*, double&);
- Void fun(int n)
- Void main()
- Void swap(int& a, int& b)
- 8.2. Функція main
- Void або int main(int n, char** p, char** q);
- Void main(int n, char** p, char** q)
- 8.3. Функції зі змінною кількістю параметрів
- Void main()
- 8.4. Покажчики на функції
- Int (*pf[3])(float X, float y);
- Void main()
- 8.5. Функції з шаблонами
- Void swap(string& s1, string& s2)
- Void main()
- Inline t abs(t X)
- Void create(type* &a, int n)
- Void del(type* &a)
- 8.6. Вправи
- Глава 9 консольне вВедення / вИведення
- 9.1. Засоби бібліотеки с
- Void main()
- Void main()
- Void main()
- 9.2. Використання потоків
- Void main()
- Void main()
- 9.3. Вправи
- Глава 10 операції з файлами
- 10.1. Види файлів і режими роботи з ними
- 10.2. Бібліотека с
- Void fprint(file* f, &X)
- Void rewind(file* f);
- Void main()
- Void main(int n, char** f)
- Void main(int n, char** fnam)
- 10.3. Застосування потоків
- Ifstream fin;
- Void open(char* filename, int mode, int access);
- Ifstream fin("a.Dat");
- Void main()
- Ifstream fa("a.Dat");
- If (fa.Eof()) break;
- Void main(int n, char** fnam)
- Void main(int n, char** f)
- Ifstream fa(f[1]);
- Void main(int n, char** fnam)
- Void main()
- Ifstream in("example.Cpp");
- Void main()
- Ifstream in("name.Dat",ios::binary);
- Void main()
- Ifstream fa("a.Dat");
- Int descr(fstr& f)
- Void main()
- Ifstream ina(infa);
- Ifstream inb(infb);
- 10.4. Вправи
- Глава 11 компіляція програми. Директиви і макроси
- 11.1. Фази компіляції
- 11.2. Директиви режиму компіляції
- 11.3. Директиви препроцесора
- 11.4. Вправи
- Глава 12 змішане програмування. Використання ассемблерного коду
- 12.1. Засоби використання асемблера
- Void main()
- 12.2. Вправи
- Глава 13 програмна реалізація алгоритмів
- 13.1. Алгоритм Евкліда пошуку найбільшого загального дільника двох цілих чисел
- 13.2. Обчислення факторіала
- 13.3. Пошук простих чисел. Решето Ератосфена
- Void main()
- 13.4. Генерація підмножин
- Void main()
- 13.5. Сортування масивів
- Void main()
- Void main()
- Int flag;
- 13.6. Пошук у масиві
- Void main()
- Void main()
- 13.7. Операції з матрицями
- Void ObrMatr (double** a, double** b, unsigned n )
- Void Minv(double** a, double** b, unsigned n )
- Void Gauss(double** a, double* b, double* X, unsigned n)
- 13.8. Лінійна інтерполяція даних
- 13.9. Лінійна апроксимація
- Void linappr(int n, double* X, double* y, double& a0, double& a1)
- 13.10. Розв’язування нелінійних рівнянь
- Void Bisec(funx f, double a, double b, double eps, double& X)
- Void Bisec(funx f, double a, double b,
- Void main()
- 13.11. Пошук заданої послідовності символів у файлі
- Void push(char* s, int n, char X)
- Void main()
- 13.12. Вправи
- Глава 14 створення й використання бібліотечних модулів. Модуль syst.H
- 14.1. Створення бібліотечних модулів
- 14.2. Модуль syst.H
- 14.3. Системні функції та макрооперації
- Void runtimer();
- Void main()
- Void runstimer();
- Void main()
- Void swp(Type& a, Type& b);
- Void main()
- Int cmp(int nx, int ny, Type* X, Type* y);
- Void errhalt(bool ex, char* mes);
- Void errhalt(bool ex, char* mes, file* f);
- 14.4. Операції введення/виведення
- Void flushkey();
- Void main()
- Int getyes();
- Void main()
- Void main()
- Int weight(type X);
- Void main()
- Int hamdist(Type a, Type b)
- 14.6. Спеціальні класи. Клас Spline для інтерполяції даних сплайнами
- Void main()
- 14.7. Вправи
- Глава 15 графІчне виведення. Модуль rgraph.H
- 15.1. Модуль rgraph.H. Загальні відомості
- 15.2. Глобальні змінні й константи
- 15.3. Класи й покажчики на функції
- 15.4. Функції й процедури класів
- Void main()
- Void main()
- Void main()
- Void main()
- 15.7. Вправи
- Глава 16 Життєвий цикл програмного продукту. Питання стилю запису програм
- 16.1. Життєвий цикл програми
- Int n, alfa, col;
- Void draw();
- Void rotate(int delta);
- 16.3. Вправи
- Література