![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.05.2010
Сообщений: 3
|
![]()
unit Unit3;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Buttons; type Vector = array[1..100] of Double; Matrix = array[1..100] of Vector; TForm3 = class(TForm) Label1: TLabel; Edit1: TEdit; StringGrid1: TStringGrid; StringGrid2: TStringGrid; Button1: TButton; Label2: TLabel; Label3: TLabel; Memo1: TMemo; BitBtn1: TBitBtn; Button2: TButton; procedure Edit1Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation uses Unit1; {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); var a: Matrix; b,x: Vector; h: Double; i,j,k,n:integer; begin //Ввод данных //Размерность системы n := StrToInt( edit1.Text); //Коэффициенты for j := 0 to n - 1 do for i := 0 to n - 1 do a[i + 1, j + 1] := StrToFloat(StringGrid1.Cells[j, i]); //Правая часть уравнения for I := 0 to n - 1 do b[i + 1] := StrToFloat(StringGrid2.Cells[0, i]); //Прямой ход - исключение переменных for i:=1 to n-1 do for j:=i+1 to n do begin a[j,i]:=-a[j,i]/a[i,i]; for k:=i+1 to n do a[j,k]:=a[j,k]+a[j,i]*a[i,k]; b[j]:=b[j]+a[j,i]*b end; x[n]:=b[n]/a[n,n]; //Обратный ход - нахождение корней for i:=n-1 downto 1 do begin h:=b; for j:=i+1 to n do h:=h-x[j]*a[i,j]; x:=h/a[i,i] end; //Вывод результата for i:=1 to n do MEMO1.Lines.Add('x(' + IntToStr(i) + ')=' + FloatToStr(x)); end; procedure TForm3.Edit1Change(Sender: TObject); begin StringGrid1.ColCount:=strtoint(edit 1.Text); StringGrid1.RowCount:=strtoint(edit 1.Text); StringGrid2.RowCount:=strtoint(edit 1.Text); end; procedure TForm3.Button2Click(Sender: TObject); begin close; end; end. Буду очень благодарен!!! ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нарисуйте алгоритм для этого кода! | Falkone | Общие вопросы Delphi | 0 | 16.05.2010 16:17 |
Волновой алгоритм (алгоритм Ли) | MrRockchip | Общие вопросы C/C++ | 4 | 10.05.2010 13:26 |
Алгоритм | lonevagrant | Общие вопросы C/C++ | 0 | 19.01.2010 22:04 |
Нарисуйте пожалуйста блок-схему лёгкой задачки, не знаю как,очень нужно... | prikolist | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 28.11.2008 15:27 |
Нарисуйте блок-схему за деньги | cHEg | Фриланс | 1 | 25.11.2008 18:15 |