Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.03.2015, 21:29   #1
VLaSSoNee
Заблокирован
 
Регистрация: 04.02.2015
Сообщений: 13
По умолчанию Не сходятся результаты

Код:
float g, f;
	int n;
	printf("Vvesti znachennya argumentu \n");
	scanf_s("%f", &f);
	if (f >= 1) { g =sqrt(pow(f,3)+pow(f+exp(f)+cos(f),1/3)); n = 1; }
	else if (f<-1) { g = log(fabs(tan(f + sqrt(fabs(f))))); n = 2; }
	else { g = f*pow(sin(pow(f + f, 2)), 2) - sqrt(f + 5.2); n = 3; }
	printf("Dlya argumenta %6.3f Znachennya funkcii g=%8.5f.\n formula № %d \n", f, g, n);
	scanf_s("%d", &n);
Не для одного условия не сходятся результаты.
Условие:

(во втором f<-1 должны быть)
Результаты в Макаде:
VLaSSoNee вне форума
Старый 23.03.2015, 21:56   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вместо 1/3 напишите например 1.0/3
type_Oleg вне форума
Старый 23.03.2015, 22:18   #3
VLaSSoNee
Заблокирован
 
Регистрация: 04.02.2015
Сообщений: 13
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Вместо 1/3 напишите например 1.0/3
через float не получиться, ибо рез не целый. Помогите через дабл это записать, голова уже не варит
VLaSSoNee вне форума
Старый 23.03.2015, 22:31   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

И еще :
Код:
g = f*pow(sin(pow(f + f, 2)), 2) - sqrt(f + 5.2)
Вместо f + f надо f + x
type_Oleg вне форума
Старый 23.03.2015, 23:04   #5
VLaSSoNee
Заблокирован
 
Регистрация: 04.02.2015
Сообщений: 13
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
И еще :
Код:
g = f*pow(sin(pow(f + f, 2)), 2) - sqrt(f + 5.2)
Вместо f + f надо f + x
х это и есть f. В маткаде глянь
VLaSSoNee вне форума
Старый 24.03.2015, 03:44   #6
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Код:
g =sqrt(pow((double)f,(double)3.0)+pow((double)(f+exp(f)+cos(f)),(double)1.0/3.0));
В функции pow явно нужно преобразовывать в double и константы записывать в виде 3.0 и 1.0/3.0.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума
Старый 24.03.2015, 17:31   #7
VLaSSoNee
Заблокирован
 
Регистрация: 04.02.2015
Сообщений: 13
По умолчанию

Цитата:
Сообщение от challengerr Посмотреть сообщение
Код:
g =sqrt(pow((double)f,(double)3.0)+pow((double)(f+exp(f)+cos(f)),(double)1.0/3.0));
В функции pow явно нужно преобразовывать в double и константы записывать в виде 3.0 и 1.0/3.0.
Огромное спасибо!
VLaSSoNee вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
результаты экзамена byMary Общие вопросы C/C++ 2 07.12.2011 20:53
почему типы не сходятся?(( phasha Помощь студентам 5 05.11.2011 13:52
результаты экзамена Gula1706 Общие вопросы C/C++ 2 28.11.2010 20:21
Дробные результаты BoRRuS Microsoft Office Access 5 07.06.2010 06:27