Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Функции.doc
Скачиваний:
9
Добавлен:
02.02.2015
Размер:
195 Кб
Скачать
☆
  1. Приклади програм

Приклад 1.Дано дійсні числаvіw. Обчислити значення виразу

,

де ,– відповідно гіперболічний синус і гіперболічний косинус числаz, які визначаються такими формулами:

, .

Визначити функції обчислення гіперболічного синуса і гіперболіч­но­го косинуса.

#define _USE_MATH_DEFINES #include <iostream> #include <conio.h> using namespacestd;doubleSh(doublez); // Опис функції (прототип) Sh()doubleCh(doublez); // Опис функції (прототип) Ch()// Визначення головної функціїintmain() {doublev, w; cout << "v = "; cin >> v; cout << "w = "; cin >> w; cout << "Value of expression is equal " << Sh(v + cos(w + 1.5)) + Ch(v + sin(w + 1.5)) - exp(Sh(2) + Ch(M_PI)) << endl; cout << "Press any key"; _getch();return0; }doubleSh(doublez) // Визначення функції Sh(){return(exp(z) - exp(-z)) / 2; }doubleCh(doublez) // Визначення функції Ch(){return(exp(z) + exp(-z)) / 2; }

Приклад 2.Даноnоб’єктів,. Скільки можна сформувати з них різних сполучень поm() об’єктів. Число сполучень зnпоmвизначається за формулою

.

#include <iostream> using namespacestd;intfactorial(int);// Прототип (опис функції) factorial() // Визначення головної функції intmain() { intm, n; intcombination; cout << "n = "; cin >> n; cout << "m = "; cin >> m; combination = factorial(n) / factorial(m) / factorial(n - m); cout << combination << '\n'; system("pause"); return0; }intfactorial(intk)// Визначення функції factorial(){ intResult = 1; for(inti = 1; i <= k; i++) Result *= i; returnResult; }

Приклад 3.Дано цілочисловий масив, що містить не більше 20 елемен­тів. Чи правда, що вміст масиву однаково читається зліва напрво і справа налі­во? Для розв’язання задачі використати власну функцію перевірки одно вимір­ного масиву на його симетричність.

#include <iostream> using namespacestd;booltest(inta[],intn);// Прототип функції test() // Визначення головної функції intmain() {intn;inta[20]; cout << "n = "; cin >> n;for(inti = 0; i < n; i++) { cout << "a[" << i << "] = "; cin >> a[i]; }if(test(a, n)) cout << "Yes\n";elsecout << "No\n"; system("pause");return0; }booltest(inta[],intn)// Визначення функції test(){for(int i = 0; i < n; i++)if(a[i] != a[n - 1 - i])return false;return true; }

Приклад 4.Обчислити слід (суму елементів, розташованих на головній діагоналі) квадратної матриці розміру не більш ніж 2020. Визначити функцію обчислення сліду квадратної матриці.

#include <iostream> using namespacestd;doubletrace(doublea[20][20],intn);// Прототип функції // Визначення головної функції intmain() {intn;doublea[20][20]; cout << "n = "; cin >> n;for(inti = 0; i < n; i++)for(intj = 0; j < n; j++) { cout << "a[" << i << "][" << j << "] = "; cin >> a[i][j]; } cout << "\nMatrix\n";for(inti = 0; i < n; i++) {for(intj = 0; j < n; j++) cout << a[i][j] << '\t'; cout << '\n'; } cout << "\nTrace == " << trace(a, n) << '\n'; system("pause");return0; } doubletrace(doublea[20][20],intn)// Визначення функції{doubletr = 0;for(int i =0; i < n; i++) tr += a[i][i];returntr; }

Приклад 5.Дано два одновимірних масивиaіb, кожен з яких містить не більш 20 дійсних. Чи правда, що мінімальний елемент масивуaбільший за міні­мальний елемент масивуb? Розробити і використати функцію визначення мінімального елемента масиву, яка базується на використанні функції визна­чення мінімального з двох дійсних чисел.

#include <iostream>using namespace std; // Прототипи функційint CompareValues(double a, double b);int NumberMinArray(double *a, int n);double MinAB(double a, double b); // Визначення головної функції int main(){ int m, n; double a[20], b[20]; cout << "Array a\n"; cout << "m = "; cin >> m; for (int i = 0; i < m; i++) { cout << "a[" << i << "] = "; cin >> a[i]; } cout << "Array b\n"; cout << "n = "; cin >> n; for (int i = 0; i < n; i++) { cout << "b[" << i << "] = "; cin >> b[i]; } if (CompareValues(a[NumberMinArray(a, m)], b[NumberMinArray(b, n)]) == 1) cout << "Yes\n"; else cout << "No\n"; system("pause"); return 0; } // Визначення функцій int CompareValues(double a, double b) { if (a > b) return 1; else if (a <b) return 2; return 0; } int NumberMinArray(double *a, int n) { int num = 0; for (int i = 1; i < n; i++) if (MinAB(a[i], a[num])) num = i; return num; } double MinAB(double a, double b) { if (a < b) return a; return b; }