problem z dodawaniem
Ostatnio zmodyfikowano 2012-11-19 08:28
dzwigar Temat założony przez niniejszego użytkownika |
problem z dodawaniem » 2012-11-18 17:32:43 Witam Wszystkich. Mam pewien wycinek kodu który nie działa jak trzeba. if(( la + lb ) == l )
cout << " la + lb jest równe l " << endl;
else if(( la + lb ) != l )
cout << " la + lb jest różne od l " << endl; Problem jest wtedy jak do zmiennuch przypisze liczby typu 0.2 0.7 itp.. lecz nie ma problemu jak przypisze 2.5 , 7.4 itp... Proszę Was o pomoc. Dodam że liczmy są typu double. A dla przykładu podam wartosci zmiennych. la =0.2 lb = 2.3 l = 2.5 dostaje cout <<" la + lb jest różne od l "<<endl; |
|
Mrovqa |
» 2012-11-18 17:41:40 Zmiana dokładności liczby zmiennoprzecinkowej.Tam dalej wyjaśniłem w czym rzecz - nie zakodujesz każdej wartości pomiędzy 0.0 a 1.0 w typie zmiennoprzecinkowym (z prostego powodu - tych liczb jest nieskończenie wiele, a tyle pamięci niestety nie mamy). |
|
dzwigar Temat założony przez niniejszego użytkownika |
» 2012-11-18 17:52:15 Nie zabardzo romumiem. Jeśli ja określilem liczbe la na 0.2 to jeju wartość jest 0.2 Czyli ja mam dodać dwie liczby typu double np. 0.2 + 2.5 aby wynik był 2.7 ? |
|
ison |
» 2012-11-18 19:02:41 if( fabs( la + lb - l ) < eps ) printf( "rowne l\n" ); else printf( "nierowne l\n" ); za eps wstaw sobie dowolną małą liczbę jak np 10^-5 |
|
dzwigar Temat założony przez niniejszego użytkownika |
» 2012-11-18 20:56:35 Wkleję moją funkcje która działa poprawnie jak odkomentuje cout<<suma<<endl; a działa nie poprawnie jak zakomentuje. void rure() { double l, wynik; double la; double lb; double suma; system( "cls" ); cout << " oooooooooooooooooooooooooooooooooooooooooo" << endl; cout << " o o" << endl; cout << " o Obliczenie wytrzymalosci rury ktora o" << endl; cout << " o obciaza rusztowanie. o" << endl; cout << " o o" << endl; cout << " o o" << endl; cout << " oooooooooooooooooooooooooooooooooooooooooo" << endl; cout << "" << endl; cout << "" << endl; cout << " Podaj dlugosc rury " << endl; cin >> l; cout << " Podaj odleglosc rury od podparcia A " << endl; cin >> la; cout << " Podaj odleglosc rury od podparcia B " << endl; cin >> lb; wynik =(( 0.768 * l ) /( la * lb ) ); suma =( la + lb ); cout << suma << endl; if(( suma ) == l ) { cout << " oooooooooooooooooooooooooooooooooooooooooo" << endl; cout << " o o" << endl; cout << " o Rura wytrzyma obciazenie rzedu o" << endl; cout << " o o" << endl; cout << " " << wynik << " kN " << endl; cout << " o o" << endl; cout << " oooooooooooooooooooooooooooooooooooooooooo" << endl; } else if(( la + lb ) != l ) cout << " ERROR - Dlugosc A + B nie moze byc wieksza lub mniejsza niz dlugosc rury" << endl; _getch(); system( "cls" ); }
|
|
Mrovqa |
» 2012-11-19 08:28:07 else if(( la + lb ) != l )
Przeczytałeś post @isona? Zdaję mi się, iż po prostu go olałeś. |
|
« 1 » |