Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z kodem c++

Ostatnio zmodyfikowano 2019-10-13 12:44
Autor Wiadomość
dzikipawian
Temat założony przez niniejszego użytkownika
Problem z kodem c++
» 2019-10-13 11:12:15
C/C++
#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
C/C++
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
P-175355
pekfos
» 2019-10-13 11:21:56
C/C++
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.
P-175356
dzikipawian
Temat założony przez niniejszego użytkownika
» 2019-10-13 11:28:00
Dobra dzienki a co w przypadku w5 i w6?
P-175357
pekfos
» 2019-10-13 11:38:02
Dla jakich danych nie działa i z jakim wynikiem?
P-175358
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?
P-175359
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?
P-175360
dzikipawian
Temat założony przez niniejszego użytkownika
» 2019-10-13 12:44:00
Nawiasow troche brakowalo. Teraz już działa dobrze
P-175361
« 1 »
  Strona 1 z 1