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

Ошибка в функциях с++ - C++

Восстановить пароль Регистрация
 
Belarus
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 33
03.12.2013, 22:47     Ошибка в функциях с++ #1
функция f выполняет запрос к пользователю и возвращает значение ex либо x2;



функция one выполняет вычисление по первой формуле;



функция two выполняет вычисление по второй формуле;
первая формула (1-2*pow(sin(i),2))/(1+sin(2*i))
вторя формула (1-tan(k))/(1+tan(k))

нужна помощь ( работает программа но выдаёт в в функциях one и two одинаковые значения)



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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
    float f(float e, float d, float g)
{if (d==0) g=pow(e,2);
else if (d==1) g=exp(e);
return g;
}
double one(float p, float i)
{p=(1-2*pow(sin(i),2))/(1+sin(2*i));
return p;
}
double two(float w, float k)
{w=(1-tan(k))/(1+tan(k));
return w;
}
    int main()
    
{
setlocale(LC_CTYPE,"Russian");
float x, q, s=1, z1=1, z2=1;
cout << "Введите alpha" << endl;
cin >>x;
cout << "Введите 0 для x^2 или 1 для e^x" << endl;
cin >> q;
cout <<"\n Функция f=" << f(x,q,s) << "\n Функция one=" << one(z1,x) << "\n Функция two=" << two(z2,x) << endl;
system ("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2013, 22:47     Ошибка в функциях с++
Посмотрите здесь:

Структуры в функциях C++
о виртуальных функциях C++
vector в функциях C++
переменные в функциях C++
C++ Ошибки в функциях
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dronius
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 5
04.12.2013, 11:57     Ошибка в функциях с++ #2
Ваши формулы:
первая формула (1-2*pow(sin(i),2))/(1+sin(2*i))
вторя формула (1-tan(k))/(1+tan(k))
просто напросто тождественны
Belarus
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 33
04.12.2013, 14:26  [ТС]     Ошибка в функциях с++ #3
я эти формулы брал из другой программы которая считает их и выдаёт различные значения
Dronius
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 5
05.12.2013, 05:37     Ошибка в функциях с++ #4
а не могли бы тогда сбросить исходный код
Код
cout <<"\n Функция f=" << f(x,q,s) << "\n Функция one=" << one(z1,x) << "\n Функция two=" << two(z2,x) << endl;
просто в вашем коде в них один и тот же аргумент, а если вспомнить тригонометрические тождества, то и получится одно значение. Возможно в исходном коде функции рассчитывались от разных аргументов
Yandex
Объявления
05.12.2013, 05:37     Ошибка в функциях с++
Ответ Создать тему
Опции темы

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