Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
#1

По данным значениям аргументов a и b вычислять значение функции f(a,b) - C++

16.06.2013, 20:07. Просмотров 466. Ответов 10
Метки нет (Все метки)

помогите!!!
По данным значениям аргументов a и b вычислять значение функции f(a,b). При организации вычисления необходимо выявить сходные по своей схеме последовательности операций, различающиеся лишь операндами, и представить их в виде отдельных функций. Аргументы должны принадлежать области определения:
f(a,b)=sqr(sqr(a)+a*b+sqr(b)) + (sqr(a)+a*b+sqr(b))*b + sqr(b)

 Комментарий модератора 
Называйте темы так, чтобы по названию можно было понять, о чем внутри идет речь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 20:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос По данным значениям аргументов a и b вычислять значение функции f(a,b) (C++):

Программа должна вычислять значение функции exp(x) действительного аргумента x с точностью ε с использованием рекурсии. - C++
Построить рекурсивный алгоритм, записать алгоритм в виде блок-схемы и на алгоритмическом языке. Программа должна вычислять значение...

Значение функции для заданных аргументов - C++
Даны действительные числа a0, ..., a6. Получить для x=1, 3, 4 значения p(x+1) – p(x), где p(y)=a6 y6+a5 y5+...+a0. Не получается вот...

Наибольшее значение функции из двух аргументов. - C++
не могу написать функцию нахождения наибольшего значения из двух аргументов. В Visual C++ выдает ошибку: error C2447: missing...

Ветвление (значение функции от двух аргументов х и у, заданная таблицей) - C++
Написать программу что вычисляет значение функции от двух аргументов х и у, заданная таблицей. ...

Шаблон с переменным числом аргументов, и возвращаемое значение функции - C++
Здравствуйте! Использую С++11. Хочу возвращать элементы кортежа пытаюсь так, auto Deserialize(unsigned long long i) ->...

Рассчитать значение функции для аргументов в заданном промежутке - C++
рассчитать значение функции \sqrt{(x^2+10x)/3} для аргументов в промежутке (3;6) с шагом 0.3 Переведите пожалуйста из Pascal в C++ ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
16.06.2013, 23:38 #2
ну, например, я начал с того, что набросал такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int sqr(int a) {return a*a;};
 
class f_class {
  public:
  int operator()(int a, int b) {
    return  sqr(sqr(a)+a*b+sqr(b)) + (sqr(a)+a*b+sqr(b))*b + sqr(b);
  }
};
 
template <class myfunc> 
int lambda_f(int a, int b, myfunc c)
{
     return c(a,b);
}
 
int main() {
    f_class funct;
    std::cout<<lambda_f(1, 10, funct);
    system("pause");
}
0
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 23:45  [ТС] #3
а вы откуда берете а и b, я не поняла
0
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
16.06.2013, 23:49 #4
а вы откуда берете а и b, я не поняла
вот в этой строке
C++
1
std::cout<<lambda_f(1, 10, funct);
параметрами заданы a и b - a=1 и b=10, а последним параметром функция для иследования (funct)....
тут смысл немного глубже, а именно - есть возможность использовать различные комбинации a и b, пренадлежащие области определения, как в вашем задании, глубже если нужно копнуть - см. теория функторов
0
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 23:53  [ТС] #5
понятно) я когда вывожу, на экране выходит 13531 для продолжения нажмите любую клавишу...
а как сделать чтобы а и б можно было выводить с клавиатуры?
0
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
16.06.2013, 23:58 #6
Цитата Сообщение от wsa Посмотреть сообщение
понятно) я когда вывожу, на экране выходит 13531 для продолжения нажмите любую клавишу...
а как сделать чтобы а и б можно было выводить с клавиатуры?
ну это уже детский сад... как можно с Вами обсуждать функторы, если Вы спрашиваете об элементарщине...


в общем конец такой у этой программы
C++
1
2
3
4
5
6
7
8
9
10
int main() {
    f_class funct;
    int a,b;
    std::cout<<"a : ";
    std::cin>>a;
    std::cout<<"b : ";
    std::cin>>b;
    std::cout<<lambda_f(a, b, funct);
    system("pause");
}
и сможете задать с клавиатуры...

но Ваша задача, по тому как вы её дали - лежит именно в функциональном программировании
1
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
17.06.2013, 00:02  [ТС] #7
спасиибо)) нас не учат, нам дали задание и сказали хоть как делайте))
0
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
17.06.2013, 00:24 #8
ну ежели Вы сможете объяснить что тут происходит - то ладно, я не против... так-то можно куда проще сделать, через обычную функцию, но задание какое-то странное у Вас

чтобы понять то что тут происходит надо даже не с функторов начинать, а глянуть в сторону "каррирования", но видимо, Вам это не надо...
0
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
17.06.2013, 00:37  [ТС] #9
мне надо бы попроще,да вы правы, я не все смогу здесь объяснить преподавателю, если вы знаете паскаль то я могу эту программу скинуть, чтобы перевести на с++, а сама пока что еще не догнала как его сделать((
0
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
17.06.2013, 00:44 #10
Цитата Сообщение от wsa Посмотреть сообщение
мне надо бы попроще,да вы правы, я не все смогу здесь объяснить преподавателю, если вы знаете паскаль то я могу эту программу скинуть, чтобы перевести на с++, а сама пока что еще не догнала как его сделать((
Паскаль (tp/bp/fpc/delphi/lazarus) - мой родной язык считайте... да и у многих так же, потому что язык реально удобнее cpp - так что проще было бы Вам дать оргинал на Паскале того, что Вы хотите и попросить перевести в С++, чем какие-то смутные задания давать
0
wsa
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
17.06.2013, 08:51  [ТС] #11
вот эту программу надо перевести на с++, про эту программу я и говорила)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program d;
uses crt;
var
  a,b:integer;
  c,F:real;
 {функция высчитывает значение z:=sqr(x)+x*y+sqr(y)}
function fkv(x,y:real):real;
begin {fkv}
  fkv:=sqr(x)+x*y+sqr(y);
end; {fkv}
 
begin{program}
clrscr;
  writeln('Введите числа а и b');
  readln(a,b);
  c:=fkv(a,b);
  F:=fkv(c,b);
   writeln('функция равна=',F:4:2);
   readkey;
end.{program}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 08:51
Привет! Вот еще темы с ответами:

Написать программу, которая вычисляет значение функции от двух аргументов Х и У - C++
Помогите решить, пожалуйста. Написать программу, которая вычисляет значение функции от двух аргументов Х и У.

Вычислить значение составной функции при заданных значениях аргументов - C++
Такая задачка

Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)? - C++
Я конечно, понимаю, что на такие вопросы отвечают &quot;почитай книжку&quot;. Я читала, честное слово:) Конкретно. Есть функция void jacobi (...

Функция должна вычислять рандомное значение от a до b - C++
Создать 2 функции, первая должна вычислять рандомное значение от a до b( a и b мы должны ввести сами),это значение должно выводится в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.06.2013, 08:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru