// This program will use three Taylor Series expansions for arctan(x), cos(x), and exp(x) to approximate the values of arctan, cos, and e to the x functions after being given x.
// Amanda Macoritto and Kreepa Upadhyay. ECE 206/L. Apirl 17th, 2022.

#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;
double pi = 3.14159265359;   //best value of pi
int numbers = 6; 	//total terms of taylor series to be used
int fact(int n){
    if (n == 0)
        return 1;
    int i, ans = 1;
    for (i = 1; i <= n; i++)
        ans *= i;
    return ans;
}
//calculate arctan
double arctan(double x){
    // if x is greater than 1
    if (x > 1)
        x = 1.0 / x;
    double ans = 0.0;
    int i;
    for (i = 1; i <= numbers; i++){
        double temp = pow(x, 2 * i - 1) / (double)(2 * i - 1);
        // if the current term is odd term
        if (i % 2 == 0)
            ans -= temp;
        // if the current term is even term
        else
            ans += temp;
    }
    // if x is greater than 1
    if (x > 1)
        ans = pi - ans;
    return ans;
}
//calculates cos
double cos(double x){
    double cosx = 0.0;
    int i;
    for (i = 0; i < numbers; i++) {
        // calculate current element
        double temp = pow(x, 2 * i) / (double)fact(2 * i);

        // if current term is odd term
        if (i % 2 != 0) {
            temp = -temp;
            cosx += temp;
        }
        return cosx;
    }
}

    //calculate exp
    double exp(double x){
        double ans = 0;
        int i;
        for (i = 0; i < numbers; i++)
            ans += pow(x, i) / (double)fact(i);
        return ans;
    }
    
    void f(double x){
        cout << "n\t\t10arctan(n)\tcos(6000pi*n + pi/6)\texp(-n/2)\tf(n)" << endl;
        cout << "---------------------------------------------------" << endl;
        double a = 10 * arctan(x);
        double b = cos(6000 * pi * x + pi / 6);
        double c = exp(-x / 2);
        cout << x << "\t" << a << "\t" << b << "\t" << c << "\t" << a * b * c << endl;
        system("pause");
    }
    
    int main(){
        double x;
        cout << "Enter x : ";
        cin >> x;
        cout << endl;
        f(x);
        return 0;
    }
 

C++ Online Compiler

Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++ and start coding!

Read inputs from stdin

OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.

#include <iostream>
#include <string>
using namespace std;

int main() 
{
    string name;
    cout << "Enter name:";
    getline (cin, name);
    cout << "Hello " << name;
    return 0;
}

About C++

C++ is a widely used middle-level programming language.

  • Supports different platforms like Windows, various Linux flavours, MacOS etc
  • C++ supports OOPS concepts like Inheritance, Polymorphism, Encapsulation and Abstraction.
  • Case-sensitive
  • C++ is a compiler based language
  • C++ supports structured programming language
  • C++ provides alot of inbuilt functions and also supports dynamic memory allocation.
  • Like C, C++ also allows you to play with memory using Pointers.

Syntax help

Loops

1. If-Else:

When ever you want to perform a set of operations based on a condition If-Else is used.

if(conditional-expression) {
   //code
}
else {
   //code
}

You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.

2. Switch:

Switch is an alternative to If-Else-If ladder.

switch(conditional-expression){    
case value1:    
 // code    
 break;  // optional  
case value2:    
 // code    
 break;  // optional  
......    
    
default:     
 code to be executed when all the above cases are not matched;    
} 

3. For:

For loop is used to iterate a set of statements based on a condition.

for(Initialization; Condition; Increment/decrement){  
  //code  
} 

4. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while (condition) {  
// code 
}  

5. Do-While:

Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.

do {  
 // code 
} while (condition); 

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.

How to declare a Function:

return_type function_name(parameters);

How to call a Function:

function_name (parameters)

How to define a Function:

return_type function_name(parameters) {  
 // code
}