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

Производная функции - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
phreaker228
5 / 5 / 0
Регистрация: 22.12.2010
Сообщений: 91
15.06.2012, 00:21     Производная функции #1
Задание: вывести на экран таблицу значений функции y=x*2e^x и ее первой производной в диапазоне от -5 до 5.Для вычисления значений f(x) и f'(x) создать функции. Вот код,не могу сообразить,что не так!Помогите,чтобы заработала!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string.h>
#include <math.h>
using namespace std;
float func (double x);
float funcP (double x); 
int _tmain(int argc, _TCHAR* argv[])
{   double y;
    setlocale(0,"Rus");
    printf("---------------------------------------\n");
    printf("|        x         |        y         |\n");
    printf("---------------------------------------\n");
    for  (double x=-5;x<=5;x++)
    {   func (x);
        
        printf("|%9.2lf      |%9.2lf         |\n", x, y);
    }
        printf("---------------------------------------\n");
        scanf("%lf",-5); //вывод значений функции от -5 до 5
    printf("---------------------------------------\n");
    printf("|        x         |        y         |\n");
    printf("---------------------------------------\n");
    for  (double x=-5;x<=5;x++)
    {   funcP (x);
        
        printf("|%9.2lf      |%9.2lf         |\n", x, y);
    }
        printf("---------------------------------------\n");
        scanf("%lf",-5); // вывод значений производной от -5 до 5
 
    return 0;
}
 
 
float func (double x) //процедура ищет значения функции
{
 double y=x-2*exp(x);
 return 1;  }
float funcP (double x) //процедура ищет производную функции
{double y=1-2*exp(x); 
return 1;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 00:21     Производная функции
Посмотрите здесь:

вторая производная C++
Производная скобочек C++
C++ вторая производная в С
строки и производная C++
C++ Интерполяция и вторая производная
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
15.06.2012, 01:05     Производная функции #2
Цитата Сообщение от phreaker228 Посмотреть сообщение
C++
1
2
3
for(double x=-5;x<=5;x++)
{
func (x);
В этом месте функция func (x); должна возвращать куда-то значение. А возвращать некому.
Надо:

C++
1
float someVar = func (x);
Цитата Сообщение от phreaker228 Посмотреть сообщение
C++
1
2
3
4
5
float func (double x) //процедура ищет значения функции
{
double y=x-2*exp(x);
return 1; 
}
процедура всегда возвращает единицу. Надо:

C++
1
2
3
4
5
float func (double x) //процедура ищет значения функции
{
return (float)(x-2*exp(x));
 
}
то же самое в случае с функцией funcP(x);

Цитата Сообщение от phreaker228 Посмотреть сообщение
C++
1
printf("|%9.2lf      |%9.2lf         |\n", x, y);
выводить нужно не значения x, y а значения возвращаемые функцией

Кроме того, необходимо избегать смешения типа данных. Если переменные в программе типа double, то и функции (!!!те которые возвращают значения называются функции, а которые не возвращают называются процедуры) должны тоже возвращать значения типа double
never old
8 / 8 / 1
Регистрация: 02.06.2012
Сообщений: 25
15.06.2012, 01:11     Производная функции #3
Так невооруженным взглядом:
У Вас внутри обеих функций объявляется double y, а из функций возвращается значение 1. Объявленный double y внутри main() так нигде и не инициализируется. Было бы неплохо из функций значение y возвращать и вызывать функции y=func(x). Причем функции еще и описаны как float, неплохо бы на double поменять.
phreaker228
5 / 5 / 0
Регистрация: 22.12.2010
Сообщений: 91
15.06.2012, 01:13  [ТС]     Производная функции #4
Спасибо огромное!Переделал,вот что получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string.h>
#include <math.h>
using namespace std;
float func (double x);
float funcP (double x);
 
int _tmain(int argc, _TCHAR* argv[])
{   
    setlocale(0,"Rus");
    printf("---------------------------------------\n");
    printf("|        x         |        y         |\n");
    printf("---------------------------------------\n");
    for  (double x=-5;x<=5;x++)
    { float s=func (x);
        
        printf("|%9.2lf      |%9.2lf         |\n", x, s);
    }
        printf("---------------------------------------\n");
        scanf("%lf",-5); //вывод значений функции от -5 до 5
    
    printf("---------------------------------------\n");
    printf("|        x         |        y         |\n");
    printf("---------------------------------------\n");
    for  (double x=-5;x<=5;x++)
    {  float s= funcP (x);
        
        printf("|%9.2lf      |%9.2lf         |\n", x, s);
    }
        printf("---------------------------------------\n");
        scanf("%lf",-5); // вывод значений производной от -5 до 5
 
    return 0;
}
 
 
float func (double x) //процедура ищет значения функции
{
 return x-2*exp(x);
 
}
 
float funcP (double x) //процедура ищет значения функции
{
 return 1-2*exp(x);
 
}
Как сделать,чтобы было две таблицы,одна со значениями функции,другая со значениями производной?
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
15.06.2012, 01:19     Производная функции #5
Та таблица, которая выводится первой содержит значения функции, а вторая значения производной.

Добавлено через 50 секунд
Значения y могут совпадать
phreaker228
5 / 5 / 0
Регистрация: 22.12.2010
Сообщений: 91
15.06.2012, 01:19  [ТС]     Производная функции #6
При компеляции создается только одна таблица
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
15.06.2012, 01:21     Производная функции #7
После вывода первой таблицы ожидается ввод значений пользователем


Цитата Сообщение от phreaker228 Посмотреть сообщение
C++
1
scanf("%lf",-5); //вывод значений функции от -5 до 5
Просто нажми Энтер
phreaker228
5 / 5 / 0
Регистрация: 22.12.2010
Сообщений: 91
15.06.2012, 01:23  [ТС]     Производная функции #8
То есть это надо удалить?

Добавлено через 42 секунды
Цитата Сообщение от Hrundel Посмотреть сообщение
Просто нажми Энтер
Ничего не происходит)
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
15.06.2012, 01:23     Производная функции #9
Вообще то, да Просто удали
phreaker228
5 / 5 / 0
Регистрация: 22.12.2010
Сообщений: 91
15.06.2012, 01:26  [ТС]     Производная функции #10
Всё,допили!Спасибо всем большушее,что вы есть!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2012, 01:27     Производная функции
Еще ссылки по теме:

Производная C++
C++ производная
C++ Правая и левая производная

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

Или воспользуйтесь поиском по форуму:
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
15.06.2012, 01:27     Производная функции #11
Удачи!!!
Yandex
Объявления
15.06.2012, 01:27     Производная функции
Ответ Создать тему
Опции темы

Текущее время: 17:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru