// Tutorial1_curve.cpp : Defines the entry point for the console application. // //#include "stdafx.h" #include using namespace std; //double max_value(double v1, double v2) { // return v1 <= v2 ? v2 : v1; //} double max_value(double v1, double v2) { return v1 <= v2 ? v2 : v1; } double linear_interpolation(double t1, double t2, double t, double v1, double v2){ if (t1 > t2) { cout << "Please updated the tenors " << endl; return -100.0; } if (t < t1 || t > t2) { cout << "Please updated the tenors " << endl; return -100.0; } return v1 + (v2 - v1)*(t - t1) / (t2 - t1); } double flat_interpolation(double t1, double t2, double t, double v1, double v2) { if (t1 > t2) { cout << "Please updated the tenors " << endl; return -100.0; } if (t < t1 || t > t2) { cout << "Please updated the tenors " << endl; return -100.0; } return t - t1 > t2 - t ? v2 : v1; } int main() { double tenor1 = 0.0; double tenor2 = 0.0; double value1 = 0.0; double value2 = 0.0; double tenor; cout << "Please enter tenor1 " << endl; cin >> tenor1; if (tenor1 < 0) { cout << "Please enter correct tenor" << endl; }; cout << "Please enter tenor2 " << endl; cin >> tenor2; if (tenor2 < 0) { cout << "Please enter correct tenor" << endl; }; cout << "Please enter value1 " << endl; cin >> value1; cout << "Please enter value2 " << endl; cin >> value2; cout << "Tenor1 is " << tenor1 << endl; cout << "Tenor2 is " << tenor2 << endl; cout << "value1 is " << value1 << endl; cout << "value2 is " << value2 << endl; cout << "The maximum between two values is " << max_value(value1, value2) << endl; cout << "Please enter tenor we need to interpolate" << endl; cin >> tenor; cout << "The linearly interpolated value is " << linear_interpolation(tenor1, tenor2, tenor, value1, value2) << endl; cout << "The flat interpolated value is " << flat_interpolation(tenor1, tenor2, tenor, value1, value2) << endl; system("pause"); return 0; }