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

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

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

Не правильно работает часть программы. - C++

23.03.2012, 10:42. Просмотров 286. Ответов 0
Метки нет (Все метки)

Задание:
Дана таблица, значения которой связаны зависимостью cos(x) (значения х из отрезка[0,4П]). Необходимо построить график интерполяционного многочлена, полученного по схеме Горнера.

На скрине то что получилось. Ошибка где-то в нахождение этого интерполяционного многочлена
А где, не пойму

код


#include <winbgim.h>
#include <math.h>
int main()
{
int gd, gm;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"");
setbkcolor(WHITE);
cleardevice();
setcolor(BLACK);
int Y0=getmaxy()/2;
int ZX=getmaxx()/2;
int X0=50;
line(0,Y0,getmaxx(),Y0);
line(X0,0,X0,getmaxy());
int edx=20;
int edy=20;
setcolor(LIGHTBLUE);
int k;
// рисуем засечки
for(k=0;edx*k<ZX;k++)
{
line(X0+k*edx,Y0-3,X0+k*edx,Y0+3);
}
for(k=0;edy*k<Y0;k++)
{
line(X0-3,Y0+k*edy,X0+3,Y0+k*edy);
line(X0-3,Y0-k*edy,X0+3,Y0-k*edy);
}
setcolor(BLUE);
// стиль линии - сплошная толстая
setlinestyle(SOLID_LINE,0,THICK_WIDTH);
float a,b,X,Y,delta;
// интервал дискретизации
delta=0.1;
// границы построения по оси х
a=0; b=3.14*4;
// Вычисление начальных координат
X=a;
Y=cos(X);
// перемещение указателя в начало графика
settextstyle(3,0,2);
moveto(X0+edx*X,Y0-edy*Y);
outtextxy(180,10,"График функции f(x)=cos(x)");
outtextxy(30,getmaxy()/2+10,"0");
// цикл построения графика
for(X=a;X<=b;X=X+delta)
{
Y=cos(X);
lineto(X0+edx*X,Y0-edy*Y);
};
//Начало нахождения многочлена
// начали вычисление двух массивов. число элементов - n.;
int n=500;
float Rez[n];
float y[n],x[n];
float shag=(4*3.14)/n;
int i;
x[0]=0;
y[0]=cos(x[0]);
for(i=1;i<=n;i++)
{
x[i]=x[i]+shag;
y[i]=cos(x[i]);
}
//вычислилил суммы. начинаем считать разности;
for(int N=1;N<=n;N++)
{
for(i=n;i>=N;i--)
{
y[i]=(y[i]-y[i-1])/(x[i]-x[i-N]);
}}
i=0;
int p=n;
for(int j=n;j>=0;j--)
{
for(i=n-1;i>=1;i--)
{
if(p==n)
{
Rez[j]=y[i]*(x[i]-x[i-1]);
}
Rez[j]=Rez[j]+y[i-1];
Rez[j]=Rez[j]*(x[i]-x[i-1]);
}
}
//Новый график
setcolor(RED);
// перемещение указателя в начало графика
moveto(X0+edx*x[0],Y0-edy*y[0]);
// цикл построения графика
for(i=0;i<=n;i++)
{
lineto(ZX+edx*x[i],Y0+edy*Rez[i]);
}
getch(); // ожидание
// закрытие графического окна
closegraph();
return 0;
}
Миниатюры
Не правильно работает часть программы.  
Вложения
Тип файла: rar source.rar (570.4 Кб, 5 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 10:42     Не правильно работает часть программы.
Посмотрите здесь:

Не работает 2 я часть программы - C++
ЗАДАНИЕ:Нужно под первым кейсом заполнить двумерный массив, а под вторым кейсом для каждой строки найти max и min элементы и заменить их...

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

Основная часть программы - C++
Помогите написать пожалуйста. Задание: Заменить все положительные элементы массива на нулевые. Сама программа: template...

ООП часть программы - C++
Доброго времени суток. Может кто поможет разобраться с частью программы? void Input() // ввод { double Ch; ...

Сократить часть программы - C++
Ребят нужна помощь в данном задании, программа написана, но часть программы(смотрите на фото, обведено красным) нужно сократить, а я не...

Объясните часть кода программы - C++
Писал лабу, помог парень, но он видимо ушёл, я не могу понять его кусок кода. Вот лаба: #include &lt;iostream&gt; #include &lt;vector&gt; ...

Помогите дописать часть программы. - C++
Привет всем еще раз)) Вот условие задачи: Написать программу, выводящую на экран площадь прямоугольника, если известны длины его сторон....

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

Нужна очень всего часть программы - C++
Само задание: В файле myfile.txt содержится информация типа а= 1,0; b = 5; с = 25,2; d = -l2,5. Написать функцию, которая получает строку...

Что выполняет эта часть программы? - C++
Задача: Изменить порядок символов в строке S1 на обратный не используя других строк. Код программы: #include &quot;stdafx.h&quot; #include...

Почему не работает часть кода? - C++
Всем хай! Почему не работает часть кода с 27 по 29 строчку, в файле с функциями, я получаю в функцию аргумент указатель, вызываю вторую...

Непонятна часть кода программы - работа с файлами - C++
Программа, выводящая символы из файла в обратном порядке. Часть кода: ..... std::ostringstream stream; stream &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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