Студопедия
Главная страница | Контакты | Случайная страница

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

Приклади програм. Приклад 1. Дано дійсні числа v і w

Читайте также:
  1. D) программа
  2. I этап. Ознакомление с добровольческой программой
  3. I)Однофакторный дисперсионный анализ (выполняется с применением программы «Однофакторный дисперсионный анализ» надстройки «Анализ данных» пакета Microsoft Excel).
  4. I. Обоснование соответствия решаемой проблемы и целей Программы приоритетным задачам социально-экономического развития Российской Федерации
  5. I. ПРИКЛАДНОЕ ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ
  6. I. ПРОГРАМА КУРСУ
  7. I. Программирование на CF Pascal
  8. I. Рабочая программа дисциплины
  9. I. Языки программирования
  10. IF(POS('ПРОГРАММИР',NAZ)<>0) AND

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




Дата добавления: 2014-12-20; просмотров: 111 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.148 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав