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

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

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

Не понимаю формулу =) - C++

05.12.2008, 01:49. Просмотров 768. Ответов 4
Метки нет (Все метки)

Знаю как это сделать но не магу понять как написать эту формулу ((( хелп плз
Написать функцию вычисления многочлена вида
http://foto.tut.by/albums/userpics/m..._c__664491.jpg. В качестве аргументов передать x, n и массив Cn. Для эффективного вычисления использовать схему Горнера: http://foto.tut.by/albums/userpics/m...__27255778.jpg . Контрольные примеры: 4x3+2x2+1, x5+x4+x3+x2+x+7, x9+2x7+3x6+x5+x2+2 для x= 0.6
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2008, 01:49     Не понимаю формулу =)
Посмотрите здесь:

C++ С++ не понимаю
C++ Не Понимаю С++
не понимаю. строки. C++
C++ не понимаю условие!!
C++ чуть не понимаю..
C++ Не понимаю CALLBACK
C++ Не понимаю вопроса
C++ не понимаю код
C строки,не понимаю C++
Не понимаю вызовы C++
Не понимаю как записать формулу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
katrisha
10 / 10 / 0
Регистрация: 14.11.2008
Сообщений: 56
05.12.2008, 03:21     Не понимаю формулу =) #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 "conio.h"
#include "stdio.h"
 
int main() {
    int n, C[100], i, x, P;
    printf("Vvedite n\n");
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    { printf("Vvedite C(%d)\n",i);
      scanf("%d",&C[i]);
      }
    printf("x=");
    scanf("%d",&x);
 
    P=C[n]*x+C[n-1];
    for(i=2;i<=n;i++) 
         P=P*x+C[n-i];
 
    printf("\nOtvet:%d",P);
    getch();
    return(0);
}
Надеюсь, поможет
StenMarsh
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 10
05.12.2008, 11:36  [ТС]     Не понимаю формулу =) #3
Ну вобщем сделал я функцию и сделал другой тип... программа работает но выдаёт невразумительные вычисления (примерно 40-значные). Мот где ошибся....не знаю:
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
#include "stdio.h"
double math(double *pC,int n,double x)
{
    int i;
    double P;
    P=*(pC+n)*x+*(pC+n-1);
    for(i=2;i<=n;i++) 
         P=P*x+*(pC+n-i);
    return P;
}
 
void main() 
{
    int n, i;
    double P,C[100], x;
    printf("Vvedite n\n");
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    { 
        printf("Vvedite C(%d)\n",i);
        scanf("%d",&C[i]);
    }
    printf("x=");
    scanf("%d",&x);
    P=math(C,n,x);
    printf("\nOtvet:%f",P);
}
katrisha
10 / 10 / 0
Регистрация: 14.11.2008
Сообщений: 56
05.12.2008, 12:06     Не понимаю формулу =) #4
Не знаю почему, но твой код у меня вообще не работал, вернее на любые данные он выводил что то типа 1,#QNOI или что то похожее... Может дело в том, что у тебя введен массив С как дабл, а сканируешь ты его как инт, может не в этом, точно не знаю, но это исправила во всех местах и все заработало.
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
#include "stdio.h"
#include "conio.h"
double math(double *C,int n,double x);
 
int main() 
{
    int n, i;
    double P,C[100], x;
    printf("Vvedite n\n");
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    { 
        printf("Vvedite C(%d)\n",i);
        scanf("%lf",&C[i]);
    }
    printf("x=");
    scanf("%lf",&x);
    P=math(C,n,x);
    printf("\nOtvet:%3.4lf",P);
    getch();
    return(0);
}
double math(double *C,int n,double x) 
       {
    int i;
    double P;
    P=*(C+n)*x+*(C+n-1);
    for(i=2;i<=n;i++) 
          P=P*x+*(C+n-i); 
    return(P);
}
StenMarsh
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 10
05.12.2008, 12:10  [ТС]     Не понимаю формулу =) #5
Бесконечно благодарен тебе katrisha
Yandex
Объявления
05.12.2008, 12:10     Не понимаю формулу =)
Ответ Создать тему
Опции темы

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