Показать сообщение отдельно
  #4  
Старый 03.03.2013, 10:52
ugicedeath ugicedeath вне форума
Прохожий
 
Регистрация: 14.02.2013
Сообщения: 17
Репутация: 10
По умолчанию

Я немного изменил код. Заметил пару глупых ошибок. Но почему-то не помогло, рисует график линией простой которая даже через точки не проходит. Помогите кто знает пожалуйста. Вот код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Series, TeEngine, ExtCtrls, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Chart1: TChart;
    Series1: TLineSeries;
    Series2: TPointSeries;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

q: array [1..100] of real;
y: array [1..100] of real;
x: array [1..100] of real;
n,i,j:integer;
L,t:real;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const t='Введите значение';
begin
n:=strtoint(edit1.text);

for i:=0 to n-1 do  //Ввод данных
begin

x[i]:=StrToFloat(InputBox('Ввод X'+IntToStr(i),t,'0'));
y[i]:=StrToFloat(InputBox(Ввод Y'+IntToStr(i),t,'0'));
 series2.AddXY(x[i],y[i]);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin

for i:=0 to n-1 do begin   //Задание начального значения
q[i]:=1;
end;


if (i<j) and (i>j) then begin //Условие расчета произведения и сам полином
for j:=0 to n-1 do begin

q[i]:=q[i]*(t-x[j])/(x[i]-x[j]); // t - переменная для разложения

end;
end;

L:=0; //Обнуление значения разложения для расчета суммы

for i:=0 to n-1 do begin   //Сумма произведений
L:=L+y[i]*q[i];
end;

t:=0; while t<x[n-1]+0.1 do begin    //График


series1.AddXY(t,L);

t:=t+0.1;

end;



end;

end.