русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Inline T abs(T x)


Дата додавання: 2014-11-28; переглядів: 864.


{ if (x<0) return -x; else return x;

}

Остання функція заміняє собою цілий набір стандартних бібліотечних функцій:
abs(int x), labs(long x), fabs(float x), fabsl(long double x). Крім того, визначена функція abs правильно працює й для комплексного аргументу. У цьому випадку спрацьовує спеціальна реалізація функції abs(x) для комплексного аргументу з стандартного бібліотечного модулю <math.h>.

У наступному прикладі шаблони застосовано для побудови функцій create і del, які призначені для створення і знищення одновимірних масивів з елементами довільного типу.

 

// Приклад 3

template <class type>

void create(type* &A, int N)

{ A= new type[N];

errhalt(A==NULL,"No memory!");

// виклик функції обробки виняткової ситуації

}

template <class type>

void del(type* &A)

{ delete[] A;

}

 

Вправи

 

Вправа 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

Написати функцію для обчислення визначеного інтегралу із застосуванням формули Сімпсона. Для передачи підінтегральної функції у якості параметра застосувати покажчик на функцію. Написати програму, яка виконує тестування функції обчислення інтегралу.

 

 


<== попередня лекція | наступна лекція ==>
Proba.exe file1.txt file2.txt | Засоби бібліотеки С


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн