|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.10.2011, 21:50 | #1 |
Новичок
Джуниор
Регистрация: 03.10.2011
Сообщений: 1
|
Ошибка: "Access violation at address 0045E503 in module 'Project1.exe'. Read of address 00316777.
Помогите пожалуйста, возникла Ошибка: "Access violation at address 0045E503 in module 'Project1.exe'. Read of address 00316777.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TForm1 = class(TForm) Button1: TButton; StringGrid1: TStringGrid; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var f:TextFile; A: array of array of Real; B,C,Z: array of Real; I,Izvezd,J,Jzvezd,N,M,Priznak:Integ er; max,min:Real; begin If OpenDialog1.Execute then Begin AssignFile(f,OpenDialog1.FileName); Reset(f); Read(F,N); Read(F,M); SetLength(C,N+1); SetLength(Z,N+M+1); SetLength(B,M+1); SetLength(A,N+1,M+1); Readln(F); for I:=1 to N do Read(F,C[I]); Readln(F); for I:=1 to M do Read(F,B[I]); Readln(F); for I:=1 to N do begin for J:=1 to M do Read(F,A[I,J]); Readln(F); end; end; For J:=1 to N do Z[I]:=-C[I]; Priznak:=0; for J:=1 to N+M do if Z[J]<0 then Priznak:=1; while Priznak=1 do begin max:=-10E10; for J:=1 to N+M do if (Z[J]<0) and ((abs(Z[J]))>max) then begin max:=abs(Z[J]); Jzvezd:=J end; min:=10E10; for I:=1 to M do if (A[I,Jzvezd]>0) and ((B[I]/A[I,Jzvezd])<min) then begin min:=B[I]/A[I,Jzvezd]; Izvezd:=I end; for I:=1 to M do if I<>Izvezd then for J:=1 to N+M do begin A[I,J]:=A[I,J]-A[Izvezd,J]*A[I,Jzvezd]/A[Izvezd,Jzvezd]; B[I]:=B[I]-B[Izvezd]*A[I,Jzvezd]/A[Izvezd,Jzvezd]; Z[J]:=Z[J]-Z[Jzvezd]*A[I,Jzvezd]/A[Izvezd,Jzvezd]; end; Z[0]:=Z[0]-B[Izvezd]*Z[Jzvezd]/A[Izvezd,Jzvezd]; for J:=1 to N+M do A[Izvezd,J]:=A[Izvezd,J]/A[Izvezd,Jzvezd]; for J:=1 to N+M do if Z[J]<0 then Priznak:=1 else Priznak:=0; end; StringGrid1.Visible:=True; StringGrid1.Cells[0,0]:='Fц='; StringGrid1.Cells[0,m+2]:='Z строка'; StringGrid1.Cells[0,1]:='c б'; StringGrid1.Cells[1,1]:='x б'; StringGrid1.Cells[2,1]:='b[i]'; for I:=1 to M do Begin StringGrid1.Cells[3,I]:=floattostr(B[I]); End; for i:=1 to m do for J:=1 to N do Begin StringGrid1.Cells[2,3]:=floattostr(A[I,J]); End; End; end. |
03.10.2011, 23:16 | #2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
1. Project/Options/Compiler - включить Range Check Error.
2. Project/Build project. 3. Run/Run.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access violation at address 004733C4 in module 'loginin.exe'. Read of address 00000048' | pavellyba | Общие вопросы Delphi | 2 | 18.08.2011 10:32 |
Ошибка "Access violation at address 004043A8 in module 'Project1.exe'. Read of address 00FF5A53." | ms.Karishka | Общие вопросы Delphi | 6 | 14.04.2011 22:18 |
Access violation at address 00447E73 in modul Project.exe. Read of address 00000057. | ArtGrek | Общие вопросы Delphi | 40 | 12.03.2011 22:03 |
Access violation at address 00478D0E in module 'Project1.exe'. Write of address 00000000 | fondreykus-1 | Общие вопросы Delphi | 5 | 27.01.2010 14:25 |
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. | Fen1x | Общие вопросы Delphi | 8 | 13.10.2007 20:13 |