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

Полином Ньютона - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции и массивы http://www.cyberforum.ru/cpp-beginners/thread1592380.html
Задание: Написать функцию, проверяющую по возрастанию или убыванию упорядочена указанная строка двумерного массива. Упорядочить по возрастанию все строки двумерного массива, которые неупорядочены по убыванию. Собственно вопрос: верно ли я написал код для данного задания, если нет, то что и где нужно поправить? Заранее спасибо за помощь :) #include<iostream> #include<stdlib.h> using...
C++ Создать структуру FootballTeam и программу с ее использованием Создайте структуру Football Team, которая содержала следующие поля: -название; -город; -капитан; -количество набранных баллов. Напишите программу, которая бы выполняла следующие действия: - Ввод с клавиатуры данных в массив, состоящий из десяти элементов типа Footballteam; - Упорядочение записей в массиве под названием; - Вывод на экран данных о всех командах, которые набрали одинаковое... http://www.cyberforum.ru/cpp-beginners/thread1592378.html
Изменить цикл while на for C++
long long d = n-1; int s= 0; while ( d%2 == 0 ) { d /= 2; s++; } я сделал вот такfor (long long d = n-1 && int s= 0; d%2 == 0 ;) d /= 2; s++;
C++ Перебор всех возможных способов размещения n и k различных сотрудников по 12 различным месяцам
Ребят, я на этом форуме не очень давно и хочу попросить помощи, Задача такого рода: нужно составить график отпусков, так чобы не менее 2 разработчиков и 1 тестировщика всегда оставались на работе. Это вроде как задачи о распределении предметов по урнам, но риализовать это у меня не вышло. Заранее благодарен...
C++ С++ Построение символьных строк http://www.cyberforum.ru/cpp-beginners/thread1592312.html
Здравствуйте! Помогите с задачей на языке С ++, буду благодарен "" "В введенном тексте найти и вывести слова в кавычках" "" Текст любой!
C++ Узнать сколько двоек в заполненном случайно массиве Добрый день. Такой вопрос есть массив в него вносятся рандомные числа скажем от 1 до 5 ,кол-во чисел где то 1000 вопрос №1 как внести эти 1000 чисел в этот массив №2 как посчитать сколько двоек в этом массив? №3 как вывести кол-во этих двоек? подробнее

Показать сообщение отдельно
marty_mcfly
0 / 0 / 0
Регистрация: 25.11.2015
Сообщений: 1
25.11.2015, 15:08     Полином Ньютона
Привет! Решаю задачку, которую мне задали в универе на построение полинома Ньютона и Лагранжа. По Лагранжу все ок работает, а по Ньютону какая-то фигня. Подскажите пожалуйста, в чем косяк в коде? Почему получаются различные знаничения для одной и той же функции(а так же значения повторяются) ? Уже весь мозг сломал.


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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
 
const double PI = 3.14159265358979;
 
int main() {
double b=2*3.1415926, n=6, x=0, y=0,q=0;
double masx[7], masy[7];
for (int i=0; i<=n; i++)
{
 
x=b/2+b/2*cos((2*i+1)*3.1415926/(2*(n+1)));
y=sin(x)*sin(x);
masx[i]=x;
cout<<"x= "<<masx[i];
masy[i]=y;
cout<<" y="<<masy[i]<<endl;
}
//-----------------
int H=12;
double l=1, x1;
for(int k=0; k<=H; k++)
{x1=b/2+b/2*cos((2*k+1)*3.1415926/(2*(H+1)));
for (int i=0; i<=n; i++)
{l=1;
for (int j=0; j<=n; j++)
{
if(i!=j)
l*=(x1-masx[j])/(masx[i]-masx[j]);
}
q+=masy[i]*l;
}
cout<<"x1="<<x1; cout<<" q="<<q<<endl; q=0;
}
//------------------------------
 
int p=12; // количетво точек
 
double node, g=masy[0], F, den;
for(int count=0; count<=p; count++)
{
    node = b/2 + b/2 * cos( (2*count - 1) * PI / (2*p)  );
 
    for(int i=1;i<n;i++)
        {
            F=0; 
 
            for(int j=0;j<=i;j++)
                {
                    den=1;
                    for(int k=0;k<=i;k++)
                        {
                            if (k!=j)
                            den*=(masx[j]-masx[k]);
                        }
                    F+=masy[j]/den;
                }
            for(int k=0;k<i;k++) F*=(node-masx[k]);
            g+=F;
            cout<<"node="<<node; cout<<" res="<<g<<endl; g=0;
        }
}
 
return 0;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru