Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2009, 23:15   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
Печаль нужна помощь по СЛАУ

Здраствуйте!!!
Я за программировал решение слау на delphi методом простых итераций....
Но возникла вот такая проблема.....
Учитель попросила меня избавиться от того, чтоб пользователь сам вводил точность вычисления....
Она говорит, что мол она сама должна как то вычисляться исходя из данных.... не могли бы вы мне помочь?
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Edit1: TEdit;
    StringGrid3: TStringGrid;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    BitBtn1: TBitBtn;
    procedure Button1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i,j,g,k:integer;
  a: array [1..3,1..3] of real;
  b: array [1..3] of real;
  x  : array  [1..3,1..100]  of real;
  e: real;
implementation

{$R *.dfm}






procedure TForm1.Button1Click(Sender: TObject);
var
p : integer;
begin
for i:=1 to 3 do
 for j:=1 to 3 do
  a[i,j]:=StrToFloat(StringGrid1.Cells[j,i]);
for i:=1 to 3 do
  b[i]:=StrToFloat(StringGrid2.Cells[1,i]);
 e:=StrToFloat(edit1.text);
 for i:=1 to 3 do
x[i,1]:= 0;
i:=1;
repeat
p:=0;
i:=i+1;
x[1,i]:=(b[1]-a[1,2]*x[2,(i-1)]-a[1,3]*x[3,(i-1)])/a[1,1];
x[2,i]:=(b[2]-a[2,2]*x[1,(i-1)]-a[2,3]*x[3,(i-1)])/a[2,2];
x[3,i]:=(b[3]-a[3,2]*x[1,(i-1)]-a[3,3]*x[2,(i-1)])/a[3,3];
for g:=1 to 3 do
begin
if (abs(x[g,(i-1)])-abs(x[g,i])) < e then
p:=p+1;
end;
until p=3;
for g:=1 to 3 do
    StringGrid3.Cells[g,1]:=floatToStr(x[g,i]);




end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Form1.Close;
end;

end.
Заранее огромное спасибо...
world12_tk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь. ShnapS БД в Delphi 1 14.08.2009 17:57
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
нужна помощь с БД kuzmich БД в Delphi 1 02.10.2008 11:50