Autor Beitrag
bluecat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: So 15.05.05 12:34 
Hallo Leute!
Ich habe ein Problem. Zum ersten Mal ausgeführt, hat der Code kein Fehler, abder dann ist der städig fehlerhaft. Die Meldung lautet Zugriffverletzung bei 0x77f69040. Wenn ich aber MainForm.SALaufzeit.Text:=IntToStr((c - b) * 1000 div a);lösche, ist dann aber die Fehlemeldung später ich weiss net,was ich falsch mache.Kann jemand mir helfen? Danke im voraus!
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
procedure TMainForm.EingabeClick(Sender: TObject);
begin
n:=StrToInt(Eingabewert.Text);
SetLength(Vektor,n);
InputVektor;
end;
function InputVektor: Real;
//var e:integer;
begin
{Randomize;
for e:=1 to High(Vektor) do
 begin
  Vektor[e]:=random(2501)-random(5001);
 end; }


 //Beispielwert
 Vektor[1]:=31;
 Vektor[2]:=-41;
 Vektor[3]:=59;
 Vektor[4]:=26;
 Vektor[5]:=-53;
 Vektor[6]:=58;
 Vektor[7]:=97;
 Vektor[8]:=-93;
 Vektor[9]:=-23;
 Vektor[10]:=84;
  :? 
 end;
procedure TMainForm.SimpleAlgClick(Sender: TObject);
Var MaxSoFar,Summe:real;
    i,j,k: Longint;
    a,b,c: Int64;
begin
QueryPerformanceFrequency(a);
QueryPerformanceCounter(b);
MaxSoFar:=0;
for i:= 1 to n do
  for j:= i to n do
    Begin
    Summe:=0;
    for k:= i to j do
      Summe:=Summe+Vektor[k];
      MaxSoFar:=max(MaxSoFar,Summe);
    end;
QueryPerformanceCounter(c);
MainForm.SALaufzeit.Text:=IntToStr((c - b) * 1000 div a);
end;


Moderiert von user profile iconraziel: Titel geändert.
Moderiert von user profile iconraziel: Quote- durch Delphi-Tags ersetzt.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 15.05.05 18:28 
Die Nummerierung von dynamischen Arrays geht von 0..n-1 und nicht von 1..n. Ausserdem hat deine Funktion InputVektor keinen definierten Rückgabewert.