Показать сообщение отдельно
  #1  
Старый 21.12.2010, 05:54
Jack Stone Jack Stone вне форума
Прохожий
 
Регистрация: 21.12.2010
Сообщения: 5
Репутация: 10
Лампочка Метод прогонки

Привет всем. У меня есть код программы, метода прогонки. Плиз помогите. Нужно сделать так, что бы в StringGrid1 числа вводились не рандомно, а в ручную. Считать она считает. но мне требует ввод данных самому. Плз, помогите кто может ^_^

Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;

const n=4;

type
m=array [1..(n+1),1..n] of real;
ml=array [1..n] of real;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
Form1: TForm1;
i,j:integer;
f:m;
x,a,b:ml;
d:string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to n+1 do // Заполнение матрицы
for j:=1 to n do
begin
if i=j then
f[i,j]:=random(5)+1
else
if (i-j)=1 then
f[i,j]:=random(5)+1
else
if (j-i)=1 then
f[i,j]:=random(5)+1
else
if i=(n+1) then
f[i,j]:=random(5)+1
else
f[i,j]:=0;
str(f[i,j]:10:3,d);
StringGrid1.Cells[(i-1), (j-1)]:=d;
end;
randomize();

for i:=1 to n do // Пряхой ход
begin
if (f[i,i]+f[i-1,(i)]*a[i-1])=0 then
begin
a[i]:=0;
b[i]:=0;
end
else
begin
if i=n then
a[i]:=0
else
a[i]:=-f[i+1,(i)]/(f[i,i]+f[i-1,(i)]*a[i-1]);
b[i]:=(f[(n+1),i]-f[i-1,(i)]*b[i-1])/(f[i,i]+f[i-1,(i)]*a[i-1]);
end;
end;

for i:=1 to n do
begin
str(a[i]:10:3,d);
StringGrid2.Cells[(i-1), 0]:=d;
str(b[i]:10:3,d);
StringGrid2.Cells[(i-1), 1]:=d;
end;

for i:=n downto 1 do // Обратный ход
begin
x[i]:=a[i]*x[i+1]+b[i];
str(x[i]:10:3,d);
StringGrid3.Cells[I-1,0]:=d;
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.
Admin: Читаем правила и пользуемся тегами, иначе последуют санкции!
Ответить с цитированием