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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2010, 16:30   #1
Fantom.as
Пользователь
 
Аватар для Fantom.as
 
Регистрация: 19.04.2010
Сообщений: 62
Сообщение Вычисление определителя матрицы

Пишу программу для вычисления определителя, этот код взял в нете...

Цитата:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
sg1: TStringGrid;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

Type MAT=array[1..20,1..20] of real;
Var
A:mat;
I,n,c,b:integer;
S:real;


implementation

{$R *.dfm}

Procedure det(n:integer; var A:mat; var s:real);
Var
i,j,k,k1:integer;
P,r:real;
Begin
P:=1.0;
For k:=1 to n-1 do begin
k1:=k+1;
S:=A[k,k];
j:=k;
For i:=k1 to n do begin
r:=A[i,k];
IF ABS ( r) > ABS (S) then begin
S:=r;
j:=i; End;
If S =0.0 then EXIT;
If j<>k then begin
P:= -P;
For i:=k to n do begin
{Выдает ошибку [Error] Unit1.pas(57): Assignment to FOR-Loop variable 'i'}
R:=a[k,i];
A[k,i]:=a[j,i];
A[j,i]:=r;
End;
For j:=k1 to N do
A[k,j]:=a[k,j]/s;
For i:=k1 to n do begin
{Выдает ошибку [Error] Unit1.pas(64): Missing operator or semicolon}
r:=a[i,k];
For j:=k1 to n do
A[I,j]:=a[i,j]-a[k,j]*r;
End;
P:=p*s
End;
S:=P*A[n,n]
End;
End;
End;




procedure TForm1.Button1Click(Sender: TObject);
{Выдает ошибку [Error] Unit1.pas(78): Statement expected but 'PROCEDURE' found}
begin
sg1.RowCount:=strtoint(edit1.Text);
c:=strtoint(edit1.Text);
sg1.ColCount:=strtoint(edit2.Text);
b:=strtoint(edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i,j:integer;
begin
for i:=0 to c-1 do
for j:=0 to b-1 do
A[i,j]:=strtofloat(sg1.cells[i,j]);

end;

end.
Я выделил ошибки которые выдает Delphi. Что они означают и как их исправить? Заранее спасибо...
P.S. Во вложенном архиве находится проект программы
Вложения
Тип файла: rar Opredeliteli.rar (4.9 Кб, 21 просмотров)
<--<--<--Нажми на весы слева <---<---<---

Последний раз редактировалось Fantom.as; 11.10.2010 в 19:43.
Fantom.as вне форума Ответить с цитированием
Старый 11.10.2010, 16:32   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Код:
<b> For i:=k1 to n begin</b>
Как бы вот так
Код:
<b> For i:=k1 to n do begin</b>
Цитата:
Код:
<b> For i:=k to n do begin </b>
У вас предыдущий цикл не закрыт, а вы опять юзаете переменную i
Цитата:
Код:
<b>procedure TForm1.Button1Click(Sender: TObject);</b>
{Выдает ошибку [Error] Unit1.pas(78): Statement expected but 'PROCEDURE' found}
Это значит end'ов не хватает.
Да и вообще, вы бы хоть отступы делали - в количестве эндов бы не ошибались.

Последний раз редактировалось _-Re@l-_; 11.10.2010 в 16:36.
_-Re@l-_ вне форума Ответить с цитированием
Старый 11.10.2010, 19:43   #3
Fantom.as
Пользователь
 
Аватар для Fantom.as
 
Регистрация: 19.04.2010
Сообщений: 62
По умолчанию

Это я исправил, но ему всеравно чтото не то
<--<--<--Нажми на весы слева <---<---<---
Fantom.as вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обращение матрицы и вычисление определителя по схеме гаусса dacsa Паскаль, Turbo Pascal, PascalABC.NET 2 21.07.2010 21:50
Вычисление определителя Sparky Помощь студентам 15 07.03.2010 19:42
Си шарп..) Метод рекурсии. Вычисление определителя матрицы произвольного размера. Sneginka* Помощь студентам 1 03.03.2010 20:14
Вычисление определителя матрицы StudentofSUSU Microsoft Office Excel 2 07.01.2010 21:05
Вычисление определителя матрицы Ирёнок Помощь студентам 6 21.02.2009 01:10