Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Приклади програм






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

,

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

, .

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

Розв’язок.

#define _USE_MATH_DEFINES
#include < iostream>
#include < conio.h>
using namespace std;
double Sh(double z); // Опис (прототип) функції Sh()
double Ch(double z); // Опис (прототип) функції Ch()
// Визначення головної функції
int main()
{
double v, 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();
return 0;
}

double Sh(double z) // Визначення функції Sh()
{
return (exp(z) - exp(-z)) / 2;
}

double Ch(double z) // Визначення функції Ch()
{
return (exp(z) + exp(-z)) / 2;
}

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

.

Розв’язок.

#include < iostream>
using namespace std;

int factorial(int); // Прототип (опис) функції factorial()
// Визначення головної функції
int main()
{
int m, n;
int combination;
cout < < " n = ";
cin > > n;
cout < < " m = ";
cin > > m;
combination = factorial(n) / factorial(m) /
factorial(n - m);
cout < < combination < < '\n';
system(" pause");
return 0;
}

int factorial(int k) // Визначення функції factorial()
{
int Result = 1;
for (int i = 1; i < = k; i++)
Result *= i;
return Result;
}

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

Розв’язок.

#include < iostream>
using namespace std;

bool test(int a[], int n); // Прототип функції test()
// Визначення головної функції
int main()
{
int n;
int a[20];
cout < < " n = ";
cin > > n;
for (int i = 0; i < n; i++)
{
cout < < " a[" < < i < < " ] = ";
cin > > a[i];
}
if (test(a, n))
cout < < " Yes\n";
else
cout < < " No\n";
system(" pause");
return 0;
}

bool test(int a[], int n) // Визначення функції 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 namespace std;

double trace(double a[20][20], int n); // Прототип функції
// Визначення головної функції
int main()
{
int n;
double a[20][20];
cout < < " n = ";
cin > > n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
cout < < " a[" < < i < < " ][" < < j < < " ] = ";
cin > > a[i][j];
}
cout < < " \nMatrix\n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout < < a[i][j] < < '\t';
cout < < '\n';
}
cout < < " \nTrace == " < < trace(a, n) < < '\n';
system(" pause");
return 0;
}

double trace(double a[20][20], int n) // Визначення функції
{
double tr = 0;
for (int i =0; i < n; i++)
tr += a[i][i];
return tr;
}

Приклад 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;
}


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал