![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() Продвинутый пользователь ![]() ![]() ![]() Группа: Posters Сообщений: 220 Регистрация: 17.8.2007 Из: Чебы Пользователь №: 8,614 ![]() |
задание : f=(m*tg(t)+|c*sin(t)|)^1/3
Помогите плиз чо в этой программе не так ? (после компиляции и выполнения, результат f=1 при любых значениях t) #include <stdlib.h> #include <iostream.h> #include <math.h> #include <conio.h> #pragma argsused int main(int argc, char* argv[]) {const double m=2.0,c=-1.0; double t,f; cout<<"Vvedite t "; cin>>t; f=pow(m*tan(t)+abs(c*sin(t)),(1/3)); cout<<"f ravno "<<f; getch(); } -------------------- В голове один мотив - ЧЕМПИОН ЛОКОМОТИВ
|
|
|
![]() |
Гость_mix_* |
![]()
Сообщение
#2
|
Guests ![]() |
Помогите плиз чо в этой программе не так ? Значит так, проблема тут в заключается в следующем: extern float pow(float, int); // Это объявление функции pow ты вторым параметром передаешь 1/3, она преобразутся в целое (int) в данном случае в нуль, а любое число в степени нуль это еденица. double(1/3) так же ни чо не меняет, она просто 0.3333....333333333f превращает в 0.33333..33333, затем уже дробная часть результата отсекается, (заметим не округляется по правилам округления), тем самым превращая результат в нуль. есь я чо напутал, что вполне вероятно ![]() Кстати, делаю замечание, функция main должна возвращать какое нибудь значение, даж если в твоей реализации C++ все прокатило, то все равно, лучше чтоб main все таки возвращала чо нить, коль уж ты написал int main() {.....} если чо тоя тока на первом курсе и пока не разбираюсь в с++, но принципы программирования понимаю 0-))) Смерть от скромности тебе чувак не грозит ![]() |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 21st June 2025 - 00:42 |