Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // LETIINF3.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include "cmath"
- #include "iostream"
- double a, a_abs, b, r;
- double f_line(double x)
- {
- double x1 = 0;
- double y1 = b;
- double x2 = 2 * a_abs;
- double y2 = -b;
- return ((y1 - y2)*x + (x1*y2 - x2*y1)) / (x1 - x2);
- }
- double s_line(double x)
- {
- double x1 = 2 * a_abs;
- double y1 = -b;
- double x2 = 4 * a_abs;
- double y2 = b;
- return ((y1 - y2)*x + (x1*y2 - x2*y1)) / (x1 - x2);
- }
- double get_y(double x)
- {
- a_abs = fabs(a);
- if (x <= 0)
- {
- return get_y(4 * a_abs - fmod(x, 4 * a_abs));
- }
- else {
- if (x <= 2 * a_abs)
- {
- return f_line(x);
- }
- else
- {
- if (x <= 4 * a_abs)
- {
- return s_line(x);
- }
- else
- {
- return get_y(fmod(x, 4 * a_abs));
- }
- }
- }
- }
- void main()
- {
- setlocale(LC_CTYPE, "Russian");
- std::cout <<
- "Определение значение y для заданного значения x по переодическому графику." << "\n" <<
- "С использованием параметров a и b" << "\n" <<
- "Автор : Визгунов Андрей Дмитриевич ФКТИ 7302" << "\n" <<
- "Версия : 23Б.1" << "\n";
- setlocale(LC_CTYPE, "Russian");
- double x, y;
- std::cout << "Введите зачение параметра a : ";
- std::cin >> a;
- std::cout << "Введите зачение параметра b : ";
- std::cin >> b;
- std::cout << "Введите зачение переменной x : ";
- std::cin >> x;
- y = get_y(x);
- y = y == -0 ? fabs(y) : y;
- std::cout << "Для переменной x = " << x << " и параметров a = " << a << " , b = " << b << " значение y = " << y << "\n";
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement