Hej,
Zaczynam pomału wdrażać się w C++.
Należy napisać program, który oblicza wartość y dla podanych przez użytkownika wartości x, y_0, v_0 i ∝.
Wzór jest następujący:
Po wpisaniu wartości x = 1.5, y0 = 1, v0 = 14.4 km/h (z km/h na m/s) czyli 4 m/s oraz kąt = 45 wychodzi wynik 2.394..
Natomiast w wolframiealpha wychodzi 1.12..
Czy problem leży w samych obliczeniach? Czy coś pominąłem? Z góry dziękuje za pomoc :)
Kod:
#include<iostream>
#include<iomanip>
#include <cmath>
#include <math.h>
#include <cstdlib>
using namespace std;
double DegreestoRadians(double x) {
const double p = 3.141592653589793238462643;
double r = x * (p / 180);
return r;
}
double KmphtoMps(double x) {
double mps = x / 3.6;
return mps;
}
double Parable(double x, double y0, double v0, double k) {
const double g = 9.81;
double y = (x * tan(k)) - (g * pow(x, 2) / (2 * pow(v0, 2) * pow(cos(k),2))) + y0; /*Do sprawdzenia*/
return y;
}
int main() {
double x, y0, v0, k;
cout << "Podaj x" << endl;
cin >> x;
cout << "Podaj y0" << endl;
cin >> y0;
cout << "Podaj v0" << endl;
cin >> v0;
cout << "Podaj kat" << endl;
cin >> k;
cout << fixed << setprecision(3);
cout << DegreestoRadians(k) << endl;
cout << KmphtoMps(v0) << endl;
cout << Parable(x, y0, v0, DegreestoRadians(k)) << endl;
}