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

Вопрос по интерполяции лагранжа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ файлы и динамические списки http://www.cyberforum.ru/cpp-beginners/thread74395.html
Помогите пожалуйста написать следующую программу: В текстовом файле записаны названия некоторых предметов , а так же их веса и ценности. При заданном ограничении на суммарный вес предметов сформировать набор, имеющий наибольшую совокупную ценность. Заранее спасибо))
C++ Строки и структурные типы данных. Люди помогите перевести из кода Pascal в код C. Сам бы разобрался так вот времени нет. Задачка такая : Вводить строки до тех пор пока не будет нажата точка, после чего сложить все строки в предложение и вывести их. Вот мой код: program five; uses CRT; type point=^Tstr; Tstr=object head:point; http://www.cyberforum.ru/cpp-beginners/thread74384.html
C++ Метод Ньютона
Помогите пожалуйста :) напишите на С++ программу для решения системы нелинейных уравнений методом Ньютона: 2+Cos(x)-y=0 Cos(y-1)+x-0,8=0
Взаимно простые числа C++
Ребят, помогите пожалуйста задачу решить на Си... Даны 2 числа, выяснить являются ли они взаимно простыми( не имеют общих делителей кроме 1) Добавлено через 23 минуты все, спс сделал сам
C++ Составление блок схемы по условию:нахождение количества элементов матрицы в определенной области http://www.cyberforum.ru/cpp-beginners/thread74371.html
Условие: нахождение количества элементов матрицы в определенной области(можно выбрать рандомную). Вообщем нужна блок схема, проходили давно, очень смутно помнится( Сделал код программы, вдруг поможет: #include <iostream> #include<iomanip> #include<clocale> using namespace std; void main() { setlocale(LC_CTYPE,"Russian");
C++ построение графа Задача: "Задан граф дерево с корневой вершиной. Нужно, начиная с корневой вершины, обойти все концевые вершины (концевая вершина имеет степень равную 1, то есть инцидентна только одному ребру) и вывести эти вершины на печать." Не представляю даже как ето програмной выглядит. Помогите, пожалуйста чем сможете. PS: Заранее благодарю. подробнее

Показать сообщение отдельно
Styks
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 16
14.12.2009, 22:33  [ТС]     Вопрос по интерполяции лагранжа
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
 
#include <conio.h>
using namespace std;
const MAX_POINTS=20;
 
 
void ShowTitle()
 
 
std::cout<<"Интерполяционный метод Лагранжа"<<endl;
 
 
int GetNumOfPoints()
 
    int Ret=0;
do std::cout<<" Введи те число точек (l.."<<MAX_POINTS<<"):";
std::cin>>Ret;
 
while((Ret<l )&&(Ret>MAX_POINTS));
 return Ret;
    
 
void SetValues(float* X,float* FX,int Size)
 
int i;
for(i =0;i<MAX_POINTS;i++) 
X[i]=0; FX[i]=0; 
 
for(i =0;i<Size;i++)
std::cout<<"To4Ka X["<<i<<"] = "; 
std::cin>>X[i];
 
for(i =0;i<Size;i++)
std::cout<<"Значение функции в точке F(X"[<<i<<]") = ";
std::cin>>FX[i];
 
 
float SetPointValue()
 
float Ret;
std::cout<<"Задайте значение X, для которою надо посчитать F(X) по Лагранжу:";
 
std::cin>>Ret;
return Ret; 
 
float UseLagrangeMethod(float* X,float* FX, int Size,float Point)
 
int i,j;
float PV,U,D;
PV = 0;
 
for (i = 0;i<Size;i++)
U=1;D=1;
 
for (j=0;j<Size;j++)
 
if(j!=i)
 
U = U*(Point-X[j]); 
D = D*(X[i]-X[j]);
 
 
PV = PV + (U/D)*FX[i];
 
return PV;
 
 
void ShowVal(float Val)
 
cout<<"Значение полинома в данной точке = "<<Val<<endl; 
cout<<"Нажмите любую клавишу для продолжения..."<<endl; 
getch();
 
int ExitProgramm()
 
char c;
do std::cout<<"Повторить программу (|Y/N|) ? : ";
std::cin>>c;
 while((c == 'y')&&(c == 'Y')&&(c =='n')&&(c == 'N')); 
 
if((c=='y')||(c == 'Y')) return 1;
else return 0;
    
int RepeatMethod()
 
char d;
do std::cout<<"Повторить вычисления для данного полинома (|Y/N| ) ? : ";
std::cin>>d;
while((d == 'y')&&(d == 'Y')&&(d =='n')&&(d == 'N')); 
 
if((d= ='y')||(d == 'Y')) return 1;
else return 0;
 
 
void main()
 int Size;
float X[MAX_POINTS],F_X[MAX_POINTS],PointVal,PolyVal;
 
 
GetNumOfPoints();
SetValues(X,F_X,Size);
PointVal = SetPointValue();
PolyVal = UseLagrangeMethod(X,F_X,Size,PointVal);
ShowVal(PolyVal);
while (RepeatMethod());
while (ExitProgramm());

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