dzikipawian Temat założony przez niniejszego użytkownika |
Problem z kodem c++ » 2019-10-13 11:12:15 #define _USE_MATH_DEFINES #include<cmath> #include <iostream> using namespace std; int main() { double a, b, w1, w2, w3, w4, w5, w6; cout << "Podaj wartosc wyrazenia a "; cin >> a; cout << "Podaj wartosc wyrazenia b "; cin >> b; w1 = pow(( pow( a, 2 ) ) - pow( b, 2 ), 4 ) *( pow(( pow( a, 3 ) + pow( b, 3 ) ), 6 ) ); cout << " w1=" << w1 << endl; w2 = sqrt( pow( pow( a, 2 ) + pow( b, 2 ), 3 ) ); cout << " w2=" << w2 << endl; w3 = 1 / 231 *( pow( a, 2 ) + a * b + pow( b, 2 ) ); cout << " w3=" << w3 << endl; w4 = 7 / 8 *( a + b *( 1 + a *( a + b ) ) + a * b ); cout << " w4=" << w4 << endl; w5 = 1 - pow( a, 2 ) / 1 + pow( a, 2 ) * sqrt( 4 + pow( b, 2 ) ); cout << " w5=" << w5 << endl; w6 = 4 + pow( b, 2 ) / 4 - pow( b, 2 ) * 1 + pow( a, 2 ) / 1 - pow( a, 2 ); cout << " w6=" << w6 << endl; } Dlaczego do w3 działania sa dobrze wykonan o w4 w5 w6 sa zle policzone? Nie mam pojecia jak to moge naprawic w4 = 7 / 8 *( a + b( 1 + a( a + b ) ) + ab ) w5 = 1 - a2 / 1 + a2 * pierwiastek z 4 + b2 w6 = 4 + b2 / 4 - b2 * 1 + a2 / 1 - a2 |
|
pekfos |
» 2019-10-13 11:21:56 w4 = 7 / 8 *( a + b( 1 + a( a + b ) ) + ab )
| 7/8 to dzielenie całkowitoliczbowe. W ten sposób nigdy nie uzyskasz wartości ułamkowej. Zamiast tego napisz 7.0 / 8. Wystarczy by jeden operand był zmiennoprzecinkowy, żeby taki był wynik. |
|
dzikipawian Temat założony przez niniejszego użytkownika |
» 2019-10-13 11:28:00 Dobra dzienki a co w przypadku w5 i w6? |
|
pekfos |
» 2019-10-13 11:38:02 Dla jakich danych nie działa i z jakim wynikiem? |
|
dzikipawian Temat założony przez niniejszego użytkownika |
» 2019-10-13 11:45:14 Dla danych a=2 b=1 w5=2.23607 w6=3.25. Myślałem że źle kolejność działań zrobiłem i przestawiałem ale i tak nie wychodzi dobrze. Nie wiem co już mogę zrobić. Jak napisać te dwa ostatnie działania aby były dobrze? |
|
pekfos |
» 2019-10-13 12:37:37 Ja dostaję w5=5.94427 w6=3.25 na kodzie w pierwszego postu i to jest zgodne z oczekiwanym wynikiem wykonując to na kalkulatorze. Na pewno przepisałeś te formuły poprawnie? Jaki sens ma tam te mnożenie i dzielenie przez 1? |
|
dzikipawian Temat założony przez niniejszego użytkownika |
» 2019-10-13 12:44:00 Nawiasow troche brakowalo. Teraz już działa dobrze |
|
« 1 » |