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

Значение функции для заданных аргументов - C++

Восстановить пароль Регистрация
 
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
18.11.2012, 15:17     Значение функции для заданных аргументов #1
Даны действительные числа a0, ..., a6. Получить для x=1, 3, 4 значения p(x+1) – p(x),
где p(y)=a6 y6+a5 y5+...+a0.
Не получается вот что я не вижу ошибку которая в выводе дает всё время 0 для всех значений аргументов х1-х3
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
double p(double x, double *a)
{
    return a[0]*pow(x,6)+a[1]*pow(x,5)+a[2]*pow(x,4)+a[3]*pow(x,3)+a[4]*pow(x,2)+a[5]*pow(x,1)+a[6]*pow(x,0);
}
void main()
{
    setlocale(0,"");
    int const x1 = 1;
    int const x2 = 3;
    int const x3 = 4;
    double a[6];
    cout<<"Введите числа a"<<endl;
    for (int i=0; i<6; i++)
        cin>>a[i];
    
        cout<<"x = "<<x1<<" = "<<p(x1 + 1,a) - p(x1,a)<<endl;
        cout<<"x = "<<x2<<" = "<<p(x2 + 1,a) - p(x2,a)<<endl;
        cout<<"x = "<<x3<<" = "<<p(x3 + 1,a) - p(x3,a)<<endl;
    
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 15:17     Значение функции для заданных аргументов
Посмотрите здесь:

Наибольшее значение функции из двух аргументов. C++
C++ Вычислить значение составной функции при заданных значениях аргументов
Ветвление (значение функции от двух аргументов х и у, заданная таблицей) C++
Написать программу, которая вычисляет значение функции от двух аргументов Х и У C++
C++ Шаблон с переменным числом аргументов, и возвращаемое значение функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
18.11.2012, 17:28     Значение функции для заданных аргументов #2
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
double p(double x, double *a)
{
    return a[6]*pow(x,6)+a[5]*pow(x,5)+a[4]*pow(x,4)+a[3]*pow(x,3)+a[2]*pow(x,2)+a[1]*pow(x,1)+a[0];
}
void main()
{
    setlocale(0,"");
    int const x1 = 1;
    int const x2 = 3;
    int const x3 = 4;
    double a[6];
    cout<<"a"<<endl;
    for (int i=0; i<6; i++)
        cin>>a[i];
 
        cout<<"x = "<<x1<<" = "<<p(x1 + 1,a) - p(x1,a)<<endl;
        cout<<"x = "<<x2<<" = "<<p(x2 + 1,a) - p(x2,a)<<endl;
        cout<<"x = "<<x3<<" = "<<p(x3 + 1,a) - p(x3,a)<<endl;
    
    system("pause");
}
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
18.11.2012, 19:55  [ТС]     Значение функции для заданных аргументов #3
ошибку увидел но что-то ответ мне кажется неправдоподобным,и по моему он одинаковый для разных чисел которые я бы не вводил.
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
17.12.2012, 00:03  [ТС]     Значение функции для заданных аргументов #4
выход за пределы массива правильно нужно
C++
1
double a[7];
а не 6
-=ЮрА=-
Заблокирован
Автор FAQ
17.12.2012, 00:19     Значение функции для заданных аргументов #5
Vlad_, во первых коэффициентов у тебя 7-мь это ты поправил, а ввод 7-ми коэффицинтов кто поправит
Цитата Сообщение от Amandosov Посмотреть сообщение
for (int i=0; i< = 6; i++)
?
Вот твой же код с маленькими изменениями

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
#include <cmath>
#include <iostream>
using namespace std;
 
double p(double x, double *a)
{
    return 
        a[6]*pow(x,6)+
        a[5]*pow(x,5)+
        a[4]*pow(x,4)+
        a[3]*pow(x,3)+
        a[2]*pow(x,2)+
        a[1]*pow(x,1)+
        a[0]*pow(x,0);
}
 
int main()
{
    int const x1 = 1;
    int const x2 = 3;
    int const x3 = 4;
    double a[7]  = {0};
    cout<<"Enter coeffs a"<<endl;
    for (int i=0; i <= 6; i++)
    {
        cout<<"a["<<i<<"] = ";
        cin>>a[i];
    }
    cout<<"x = "<<x1<<" = "<<p(x1 + 1,a) - p(x1,a)<<endl;
    cout<<"x = "<<x2<<" = "<<p(x2 + 1,a) - p(x2,a)<<endl;
    cout<<"x = "<<x3<<" = "<<p(x3 + 1,a) - p(x3,a)<<endl;
    system("pause");
    return 0;
}
Миниатюры
Значение функции для заданных аргументов  
-=ЮрА=-
Заблокирован
Автор FAQ
17.12.2012, 00:20     Значение функции для заданных аргументов #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
return
* * * * a[6]*pow(x,6)+
* * * * a[5]*pow(x,5)+
* * * * a[4]*pow(x,4)+
* * * * a[3]*pow(x,3)+
* * * * a[2]*pow(x,2)+
* * * * a[1]*pow(x,1)+
* * * * a[0]*pow(x,0);
- я реши что раз уж степень шестая то путь и коэффициент будет с таким же индексом и т.д.
Yandex
Объявления
17.12.2012, 00:20     Значение функции для заданных аргументов
Ответ Создать тему
Опции темы

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