IPB

Здравствуйте, гость ( Вход | Регистрация )

> Хелп, с++
L0K0motiv
сообщение Oct 6 2007, 16:36
Сообщение #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_*
сообщение Oct 6 2007, 20:48
Сообщение #2





Guests






Цитата(L0K0motiv @ Oct 6 2007, 17:36) *
Помогите плиз чо в этой программе не так ?


Значит так, проблема тут в заключается в следующем:

extern float pow(float, int); // Это объявление функции pow

ты вторым параметром передаешь 1/3, она преобразутся в целое (int) в данном случае в нуль, а любое число в степени нуль это еденица. double(1/3) так же ни чо не меняет, она просто 0.3333....333333333f превращает в 0.33333..33333, затем уже дробная часть результата отсекается, (заметим не округляется по правилам округления), тем самым превращая результат в нуль.

есь я чо напутал, что вполне вероятно smile.gif , пожалуйсто поправляйте

Кстати, делаю замечание, функция main должна возвращать какое нибудь значение, даж если в твоей реализации C++ все прокатило, то все равно, лучше чтоб main все таки возвращала чо нить, коль уж ты написал int main() {.....}

Цитата(L0K0motiv @ Oct 6 2007, 19:01) *
если чо тоя тока на первом курсе и пока не разбираюсь в с++, но принципы программирования понимаю 0-)))

Смерть от скромности тебе чувак не грозит biggrin.gif .
Вернуться к началу страницы
 
+Цитировать сообщение

Сообщений в этой теме
- L0K0motiv   Хелп   Oct 6 2007, 16:36
- - Vitamin_C   #include <stdlib.h> int abs(int x); Возможн...   Oct 6 2007, 17:34
|- - L0K0motiv   Цитата(Vitamin_C @ Oct 6 2007, 18:34) #in...   Oct 6 2007, 18:01
- - Vitamin_C   #include <math.h> double fabs(double x);   Oct 6 2007, 17:37
- - Vitamin_C   В качестве аргумента функции int abs(int x) - цело...   Oct 6 2007, 19:58
- - mix   Цитата(L0K0motiv @ Oct 6 2007, 17:36) Пом...   Oct 6 2007, 20:48
- - L0K0motiv   Не подскажете тогда как по-другому реализовать кор...   Oct 6 2007, 20:55
- - Vitamin_C   Попробуй заменить f=pow(m*tan(t)+abs(c*sin(t)),(1...   Oct 6 2007, 21:05
- - L0K0motiv   И еще вопрос все C++ Builderы такие глючные ? (у м...   Oct 6 2007, 21:08
- - Vitamin_C   Visual C++ был Че получилось?   Oct 6 2007, 21:10
|- - L0K0motiv   Цитата(Vitamin_C @ Oct 6 2007, 22:10) Че ...   Oct 6 2007, 21:12
- - Vitamin_C   Фуннкция объявлена как: #include <math.h> do...   Oct 6 2007, 21:15
|- - L0K0motiv   Цитата(Vitamin_C @ Oct 6 2007, 22:15) Фун...   Oct 6 2007, 21:21
- - L0K0motiv   В Borl. C++ Builder 6 2 версии pow : Prototype do...   Oct 6 2007, 21:24
- - Gobbs   Кодf=pow(m*tan(t)+abs(c*sin(t...   Oct 7 2007, 10:03
- - mix   У тебя тут ошибка "тоньше" чем я думал. ...   Oct 7 2007, 10:53
- - mix   блин, пожизни пока я пишу ответ кто нить уже все н...   Oct 7 2007, 10:54
- - L0K0motiv   Спасибо всем !!!   Oct 7 2007, 12:51
- - L0K0motiv   Мда.............. Появилась еще одна проблемка. За...   Dec 23 2007, 21:23
- - Amp   Может и не совсем удачное. Первое, что в голову пр...   Dec 23 2007, 21:48
- - L0K0motiv   Amp, спасибо тебе. Пойду удивлю училку. )))) Прост...   Dec 23 2007, 23:22
- - aligatr-kil   Привет всем ! Помогите пожалуйсто переделать п...   Dec 23 2007, 23:30


ОтветитьСоздать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 21st June 2025 - 00:42