Форум программистов, компьютерный форум CyberForum.ru

Решение функции - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
RedShoe
Сообщений: n/a
18.03.2012, 14:14     Решение функции #1
Доброго времени суток, дамы и господа.
Прошу о помощи в решении функции на С++
сама функция : f(x,y)=e^(-(x^2+y^2)) *( (arcsin (x/a) - arccos (y/b)) / ( tg^2 (x/Пи) + ctg^2 (y/Пи)) )
x,y,a,b -значения, вводимые с клавиатуры
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2012, 14:14     Решение функции
Посмотрите здесь:

C++ Решение неявно заданной функции.
C++ Решение функции
Решение функции C++
C++ решение функции в виде таблицы
C++ Оформить в виде функции на C++ решение задачи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
18.03.2012, 17:21     Решение функции #2
RedShoe, код ниже позволяет находить значения данной функции при любіх значениях входніх параметров
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <cmath>
using namespace std;
 
double PI = 2*asin(1.0);
bool ODZ(double x, double y, double a, double b)
{
    bool bFlag = true;
    if(a == 0 || b == 0)
        bFlag = false;
    else
    if(1 < x/a || x/a < -1) //ОДЗ для asin(x/a) : макс значение синуса 1 мин -1
        bFlag = false;
    else
    if(1 < y/b || y/b < -1) //ОДЗ для acos(y/b) : макс значение косинуса 1 мин -1
        bFlag = false;
    else
    if(cos(x/PI) == 0) //tan(x/PI) неопределён если cos(x/PI) == 0
        bFlag = false;
    if(cos(y/PI) == 0) //tan(y/PI) неопределён если cos(y/PI) == 0
        bFlag = false;
    else
    if((pow(tan(x/PI),2.0) + 1/pow(tan(y/PI),2.0)) == 0)//Сам знаменатель не может быть ноль
        bFlag = false;
    return bFlag;
}
 
double f(double x, double y, double a, double b)
{
    return  exp(-(x*x + y*y))*((asin(x/a) - acos(y/b))/(pow(tan(x/PI),2.0) + 1/pow(tan(y/PI),2.0)));
}
 
 
int main()
{
    double x, y, a, b;
    while(true)
    {
        cout<<"Enter x : ";cin>>x;
        cout<<"Enter y : ";cin>>y;
        cout<<"Enter a : ";cin>>a;
        cout<<"Enter b : ";cin>>b;
        if(ODZ(x, y, a, b))
            cout<<"f(x,y) = "<<f(x, y, a, b)<<endl;
        else
            cout<<"parameters not from ODZ of function\n";
    }
    return 0;
}
Не думайте что я просто так ввёл фунцию ODZ(попробуйте её исключить и уже без неё ввести параметры переменных с моего скрина)
Миниатюры
Решение функции  
-=ЮрА=-
18.03.2012, 17:24
  #3

Не по теме:

PS:RedShoe, для боле детального понимания советую заглянуть сюда
http://www.cyberforum.ru/faq/thread4...ml#post2431657

RedShoe
Сообщений: n/a
18.03.2012, 22:40     Решение функции #4
Премного благодарен.
Yandex
Объявления
18.03.2012, 22:40     Решение функции
Ответ Создать тему
Опции темы

Текущее время: 20:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru