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

[C++]precyzja wyniku

Ostatnio zmodyfikowano 2017-01-03 16:23
Autor Wiadomość
kula90
Temat założony przez niniejszego użytkownika
[C++]precyzja wyniku
» 2017-01-03 13:19:25
Witam

Mam taki problem muszę wypisać wyniki w formie wykładniczej gdzie mantysa ma mieć 10 cyfr znaczących ale coś jest chyba nie tak przynajmniej w X'ach bo Y wygladaja prawidłow

C/C++
void wyswietlXY()
{
    for( int i = 0; i < rozmiar; i++ )
    {
        cout << "X[" << i + 1 << "] = ";
        cout << setprecision( 9 ) << scientific << x[ i ]
        << '/t/t' << " Y[" << i + 1 << "] = ";
        cout << setprecision( 9 ) << scientific << y[ i ] << endl << endl;
       
    }
   
}
wynik daje to taki:

X[1] = 9.996061438e-001796143476 Y[1] = 8.000000000e+000

X[2] = 1.000945328e+000796143476 Y[2] = 1.760000000e+001

X[3] = -5.523337530e-003796143476 Y[3] = -1.262538071e+001

X[4] = -9.999266214e-001796143476 Y[4] = -9.991003115e+000

X[5] = -9.957784038e-001796143476 Y[5] = -1.868024339e+001

a w wersji normalnej tak to sie prezentuje

X[1] = 0.999606796143476 Y[1] = 8

X[2] = 1.00095796143476 Y[2] = 17.6

X[3] = -0.00552334796143476 Y[3] = -12.6254

X[4] = -0.999927796143476 Y[4] = -9.991

X[5] = -0.995778796143476 Y[5] = -18.6802

[/i][/i]
P-155873
Monika90
» 2017-01-03 15:33:45
Różnica między '/t/t' a "\t\t"
P-155882
bombatom69
» 2017-01-03 15:35:41
Nie korzystam z tzw.: notacji naukowej, jednak mam tutaj drobną uwagę do setprecision:
Wbrew oczekiwaniom wielu "naciętych", nie zapewnia ani odpowiedniej liczby po przecinku.

Nie założyłbym się również, że to ma cokolwiek wspólnego z cyframi znaczącymi, ale jestem dziś lekko "śnięty".
Lepiej abyś wyjaśnił tę kwestię swoimi słowami, bo widziałem już sporo definicji cyfr znaczących, nie wiem jak inni.

Dostajesz, sumarycznie, dokładnie tyle cyfr ile sobie zażyczysz. Jak widać w załączonych przez Ciebie wynikach, w przypadku "scientific", odnosi się to do mantysy.

W <cstdio> masz nieco inne sposoby formatowania.
P-155883
kula90
Temat założony przez niniejszego użytkownika
» 2017-01-03 16:23:25
Dzięki Monika, o to własnie chodziło tak skupiłem na algorytmie dollittle'a ze tego czeskiego błędu nie zauważyłem. Co do Bombatom69 sam nie jestem pewien bo tez nie korzystam zwykle z notacji naukowej, wydaje mi się że teraz ta postać wykładnicza jest już dobra 10 liczb na początku potem e i potęga. Jeszcze raz bardzo dziękuje za pomoc :) 
P-155885
« 1 »
  Strona 1 z 1