Paul Sernine
Addict
- Joined
- Apr 1, 2021
- Posts
- 159
- Solutions
- 1
- Reaction
- 56
- Points
- 109
Patulong sana ako lodi kung ano po mali ko dito.
#include <iostream>
using namespace std;
int main()
{
const double PI = 3.1415926535897932384650288; //Pi accuracy double sin (double x) //Sine by Taylor's Series
}
double sign = 1;
if (x < 0)
{
sign = -1.0;
x = -x;
}
if (x > 360)
x = int(x/360)*360;
x *= PI/180.0;
double res = 0;
double term = x;
int k = 1;
while (res+term!=res)
{
res += term;
k +=2 ;
term *= -x*x/k/(k-1);
}
return sign*res;
}
double cos(double x) //Cosine by Taylor's Series
{
double sign = 1;
if (x < 0)
{
sign = -1.0; x = -x;
}
if (x > 360)
x -= int(x/360)*360;
x *= PI/180.0;
double res = 0;
double term = 1;
int k = 0;
while (res+term!=res)
{
res += term;
k += 2;
term *= -x*x/k/(k-1);
}
return res;
}
double tan(double x) // tan(x) = sin(x)/cos(x)
{
double res = (sin(x)/cos(x)); if (res > 100)
{
res=1.0/0.0;
}
else if (res < -100){
res= -1.0/0.0;
}
return res;
}
double cot (double x) // cot(x) = cos(x)/sin(x)
{
double res = (cos(x)/sin(x));
if (res > 100)
{
res = 1.0/0.0;
}
else if (res < -100)
{
res = -1.0/0.0;
}
return res;
}
double sec (double x) // sec(x) = 1/cos(x)
{
double res = (1.0/cos(x));
if (res > 100)
{
res = 1.0/0.0;
}
else if (res < -100)
{
res = -1.0/0.0;
}
return res;
}
double csc(double x) // csc(x) = 1/sin(x)
{
double res = (1.0/sin(x));
if (res > 100)
{
res = 1.0/0.0;
}
else if (res < -100)
{
res = -1.0/0.0;
}
return res;
}
double x, output;
int main()
{
char recompute = 'y';
while (recompute == 'y' || recompute == 'Y')
{
cout<< "\nEnter angle x:\t";
cin >> x;
output = sin(x);
cout << "\n sin(x)=\t" << output << endl;
output = cos(x);
cout << "\n cos(x)=\t" << output << endl;
output = tan(x);
cout << "\n tan(x)=\t" << output << endl;
output = cot(x);
cout << "\n cot(x)=\t" << output << endl;
output = sec(x);
cout << "\n sec(x)=\t" << output << endl;
output = csc(x);
cout << "\n csc(x)=\t" << output << endl;
cout << "\n Recompute? (y/n):\t";
cin >> recompute;
} //end while loop
cout << "Process complete." << endl;
return 0;
}