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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 02:52   #1
Ivan3000
Пользователь
 
Регистрация: 25.05.2009
Сообщений: 17
По умолчанию

Доброго времени суток,господа!

У меня проблема,я не могу написать комментарии к программе(помогали делать)!Пожалуйста,помогите,кто чем может!Буду рад любой помощи!
Вот листинг программы:



Код:
unit Opred;

interface

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

type
  TFormOpred = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    TrackBar1: TTrackBar;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);

   

  private
    { Private declarations }
  public
    { Public declarations }
  end;
var FormOpred:TForm;
  I1, I2, N, Z: Integer;
  Data: array of array of Extended;

implementation

{$R *.dfm}

procedure TFormOpred.Button1Click(Sender: TObject);
begin
Close;
end;
function D : Extended;
var
  Temp, A: array of array of Extended;
  Cols, Rows, Count: Word;
  i, j, k: Integer;
begin
  Count := Length(Data);
  Result := 1;
  SetLength(A, Count, Count);
  SetLength(Temp, 1, Count);
  for i := 0 to Count - 1 do
    for j := 0 to Count - 1 do
      A[i, j] := Data[i, j];
  for i := 0 to Count - 2 do
  begin
    for j := i to Count - 1 do
    begin
      Rows := 0;
      Cols := 0;
      for k := i to Count - 1 do
      begin
        Rows := Rows + Ord(A[j, k] = 0);
        Cols := Cols + Ord(A[k, j] = 0);
      end;
      if Rows + Cols = 0 then
        Break;
      if (Cols = Count - i) or (Rows = Count - i) then
      begin
        Result := 0;
        Exit
      end
    end;
    if A[i, i] = 0 then
      for j := i + 1 to Count - 1 do
        if A[j, i] <> 0 then
        begin
          Result := -Result;
          Temp[0] := A[i];
          A[i] := A[j];
          A[j] := Temp[0];
          Break
        end;
    for j := i + 1 to Count - 1 do
      if A[j, i] <> 0 then
      begin
        for k := i + 1 to Count - 1 do
          A[j, k] := A[j, k] - A[i, k] * A[j, i] / A[i, i];
        A[j, i] := 0
      end
  end;
  for i := 0 to Count - 1 do
    Result := Result * A[i, i];
end;
  procedure TFormOpred.TrackBar1Change(Sender: TObject);
var
  Q: Integer;
begin
StringGrid1.ColCount := TrackBar1.Position ;
StringGrid1.RowCount := TrackBar1.Position ;
     Q := TrackBar1.Position;
      N := Q;
  end;
procedure TFormOpred.Button2Click(Sender: TObject);
var
  I, J: Integer;
begin
  SetLength(Data, N, N);
  for I := 0 to High(Data) do
      for J := 0 to High(Data) do
      begin
          if StringGrid1.Cells[I , J ] = '' then
             StringGrid1.Cells[I , J] := '0';
          Data[I, J] := StrToInt(StringGrid1.Cells[I , J ]);
      end;
  ShowMessage(IntToStr(Round(D)));
end;

end.
В частности хотелось бы получить разъяснение function D!

Помогите,пожалуйста,очень надо!

Последний раз редактировалось Stilet; 04.06.2009 в 07:56.
Ivan3000 вне форума Ответить с цитированием
Старый 04.06.2009, 10:12   #2
Ivan3000
Пользователь
 
Регистрация: 25.05.2009
Сообщений: 17
По умолчанию

Помогите,пожалуйста!
Ivan3000 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определитель и транспонирование матрицы в Delphi Ivan3000 Помощь студентам 9 03.05.2013 15:26
Определитель матрицы Snake_ua Помощь студентам 7 10.02.2010 10:44
Определитель матрици в Turbo Pascal Vodin Помощь студентам 5 07.05.2009 16:54
Определитель квадратной матрицы Tomoyo Помощь студентам 22 04.11.2008 22:37
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50