Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C++ Builder
Регистрация

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


Ответ
 
Опции темы
Старый 26.04.2014, 02:02   #1
agent008
 
Регистрация: 26.04.2014
Сообщений: 4
По умолчанию Вычислить значение выражения

Вычислить значение выражения
Задание на скриншоте.
Отблагодарю!
Изображения
Тип файла: gif latex.gif (2.4 Кб, 34 просмотров)
agent008 вне форума Ответить с цитированием
Старый 26.04.2014, 09:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Код:
int fac(int n){int k=1;for(;n;n--) k*=n; return k;}
float SumCosKX(float x, float k){float res=0; for(;k>0;k--) res+=cos(k*x); return res;}
...
y=
  SumCosKX(x,10)+(
   sqrt(sqr(fac(n))+sqr(cos(x)))/sqrt(sqr(SumCosKX(x,6))+sqr(fac(2*n)))
  )+sqrt(sqrt(
   sqr(fac(2*n-1))+4
  ))
;
Это если ничего не путаю, и в качестве идеи, ибо билдера нет.
P.S. Учти - факториал не сможет работать с числами более 5 или 6
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.04.2014, 13:06   #3
agent008
 
Регистрация: 26.04.2014
Сообщений: 4
По умолчанию

Спасибо, сейчас попробую скомпилить.
agent008 вне форума Ответить с цитированием
Старый 26.04.2014, 22:51   #4
Airhand
Пользователь
 
Аватар для Airhand
 
Регистрация: 23.08.2011
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
P.S. Учти - факториал не сможет работать с числами более 5 или 6
Чтобы факториал смог работать с числами более 5 или 6 надо рекурсию (переписать фукцию fac) сменить на итерацию: я ужО не помню деталей, но на вызов функции идёт статическая память (не путать с динамической, коей может быть гигабайты). Статической памяти проге отводится 65535 килобайт (если не ошибаюсь, но меньше мегабайта). Каждый вызов отжирает память (оперативку), вот её и не хватает.
"Пока бабка не смоет косметику, русский мужик не перекрестится" (C) Кто-то
Airhand вне форума Ответить с цитированием
Старый 26.04.2014, 23:00   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 14,239
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Учти - факториал не сможет работать с числами более 5 или 6
Для 32-битного int факториал можно считать вплоть до 12. Но в данной задаче функцию факториала лучше сделать типа double.
Arigato вне форума Ответить с цитированием
Старый 27.04.2014, 08:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
Чтобы факториал смог работать с числами более 5 или 6 надо рекурсию
Это тут ни при чем.
Цитата:
Но в данной задаче функцию факториала лучше сделать типа double.
Согласен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2014, 10:01   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 5,997
По умолчанию

Цитата:
Сообщение от Airhand Посмотреть сообщение
Статической памяти проге отводится 65535 килобайт(
DOS давно умер, в современных ОС таких ограничений нет.
waleri вне форума Ответить с цитированием
Старый 27.04.2014, 10:21   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 14,239
По умолчанию

Правда? Интересно, почему:

Код:
#include <iostream>

void rec(int i){
	std::cout<<i<<"\n";
	rec(i+1);
}

void main()
{
	rec(1);
}
1.jpg
Arigato вне форума Ответить с цитированием
Старый 27.04.2014, 13:15   #9
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

А если запустить не из студии?
FataLL вне форума Ответить с цитированием
Старый 27.04.2014, 14:16   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 14,239
По умолчанию

Как-то так:

1.jpg
Arigato вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка, арифметические выражения вида A x B. Вычислить значение выражения Un1q Паскаль, Turbo Pascal, PascalABC.NET 4 09.12.2013 14:47
вычислить значение выражения (на C++) laychan Помощь студентам 2 05.03.2012 11:32
вычислить значение выражения ulechka128 Помощь студентам 0 25.12.2011 13:35
вычислить значение выражения _Иван_ Помощь студентам 2 20.04.2011 18:58