Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.05.2010, 10:21
Falkone Falkone вне форума
Прохожий
 
Регистрация: 17.05.2010
Сообщения: 5
Репутация: 10
Хорошо нужен алгоритм к этому исходнику

Код:
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.
Admin: Пользуемся тегами!

нарисуйте мне его! Оч прошу!

Последний раз редактировалось Admin, 17.05.2010 в 10:37.
Ответить с цитированием
  #2  
Старый 17.05.2010, 11:18
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Воспользуйся программой Автосхема v.2.2, она сама все за тебя сделает...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter