17.05.2011, 10:43 | #1 (permalink) |
Новичок
Регистрация: 17.05.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль. помощь в компиляции моего кода
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Menus, Buttons; type TForm1 = class(TForm) StringGrid1: TStringGrid; Button1: TButton; Edit1: TEdit; Label1: TLabel; Label3: TLabel; Button2: TButton; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure StringGrid1KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; const Nmax=10; Type Massiv1 = array[1..Nmax,1..Nmax] of extended; var Form1: TForm1; A : Massiv1; N, r, c: integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin N := 4; Edit1.Text := FloatToStr(N); StringGrid1.RowCount := N+1; StringGrid1.ColCount := N+1; Label3.Caption := ' для вычисления определителя матрицы нажмите расчет'; StringGrid1.Cells [0,0] := 'Матрица А'; for r := 1 to N do begin StringGrid1.Cells [0,r] := ' строка ' + IntToStr(r); end; for c := 1 to N do begin StringGrid1.Cells [c,0] := ' столбец ' + IntToStr(c); end; end; procedure TForm1.Button2Click(Sender: TObject); begin N:=StrToInt(Edit1.Text); StringGrid1.RowCount:=N+1; StringGrid1.ColCount:=N+1; for r := 1 to N do begin StringGrid1.Cells [0,r] := ' строка ' + IntToStr(r); end; for c := 1 to N do begin StringGrid1.Cells [c,0] := ' столбец ' + IntToStr(c); end; end; procedure TForm1.Button1Click(Sender: TObject); var detA, k, buf: extended; max, j, z, p, s, zam:integer; begin max:= 1; detA := 1; zam:=0; for c := 1 to N do for r := 1 to N do A[c,r]:=StrToFloat(StringGrid1.Cells[c,r]); for c := 1 to N-1 do begin for z := c to N-1 do begin max:=z; for j := z+1 to N do begin if abs(A[c,j]) > abs(A[c,max]) then max:=j; end; for p := 1 to N do begin buf:=A[p,z]; A[p,z]:=a[p,max]; A[p,max]:=buf; end; end; for r := c+1 to N do begin k := A[c,r]/A[c,c]; for s := 1 to N do begin A[s,r]:= A[s,r]-A[s,c]*k; end; end; if c<>max then begin zam := zam+1; end; end; for c := 1 to N do detA := detA*A[c,c]; if zam mod 2 <> 0 then detA := (-1)*detA; label3.Caption := 'Детерминант матрицы равен: ' + FloatToStrF(detA,fffixed,6,3); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin MessageDlg(Программа вычисляет детерминант (определитель) матрицы методом Гаусса с выбором главного элемента. Внимание!!! Матрица должна быть квадратной!',mtInformation,[mbOK],0); end; procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char); begin case Key of #8,'0'..'9', '-' : ; '.',',': begin if Key <> DecimalSeparator then Key := DecimalSeparator; end; else key := Chr(0) end; end; end. Фри паскаль пишет: Illegal parameter: -Opentium3. Как мне скомпилировать данный код? Если не сложно, попробуйте скомпилировать данный код на своем компьютере. |
17.05.2011, 10:43 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пока в вашем топике нет ответов, можете почитать эти Помощь в переделывании кода Паскаль, помощь в доработке программ Паскаль, помощь в доработке программ |
17.05.2011, 11:21 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Это модуль на языке ObjectPascal, используемом в качестве ЯП в среде программирования Delphi. Скомпилировать его можно при наличии остальных файлов проекта (настройки, форма, ресурсные файлы и т.д.)
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|