Einzelnen Beitrag anzeigen

Admirandis
(Gast)

n/a Beiträge
 
#1

Programm für Mathe-Facharbeit

  Alt 18. Dez 2006, 19:42
Moin allerseits!

Ich schreibe in Mathe meine Facharbeit über das Lösen von Gleichungssystemen mit dem Gauß-Jordan Algorithmus! Der Algorithmus selber ist nicht so ein besonderes Problem, aber ich habe eine Reset Funktion eingebaut, mit der man das ganze Programm zurücksetzen kann um wieder neue Gleichungen etc einzugeben! Bisher hat das auch alles wunderbar funktioniert, aber seitdem ich eine neue Beispielroutine gecodet habe kommt immer die Fehlermeldung "Zugriffsverletzung bei Adresse 004031DE in Modul....". Und ich habe leider nicht die leiseste Ahnung, wie das da hineingekommen ist! Deswegen wollte ich euch mal den Code schicken und fragen, ob ihr da was sehen könnt! Würde mich über Antworten freuen!

Admirandis

PS: Den Quellcode findet ihr in der "knappen" Fassung unten, den ganzen lade ich noch als Anhang hoch!

PPS: Falls ich hier im falschen Forum für Mathe bin: sorry


Erstmal ein grooooßer Variablenblock:
Delphi-Quellcode:
var
  Form1: TForm1;
   lblcnt, lblhgt, xcnt, vorzcnt, maxwidth1, maxwidth2: integer;
    gleichung, determinante, lsg, ergebnis: array[1..99] of TLabel;
     x, y: Array[1..100, 1..100] of extended;
      g: Array[1..100, 1..100] of string;
       e: Array[1..100] of extended;
        vargl: Array[1..100] of integer;
Das ist die Procedure, die die Zufallsgleichungen erstellt

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
 cnt, cnt2, ak, pm: integer;
  zahl: extended;
   inp: string;
begin

ak := 3+random(7);

for cnt := 1 to ak do
   begin
      for cnt2 := 1 to ak do
       begin
       pm := random(2);
       zahl := random(50);
       if pm = 1 then inp := inp+'+else inp := inp+'-';
       inp := inp+floattostr(zahl);
       end;
     inp := inp+'='+inttostr(random(100));
     input.Text := inp;
     button1.Click;
     inp := '';
    end;
end;
Und last but not least die Procedure zum Resetten

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var
frecnt, cnt1, cnt2: integer;
begin

for cnt1 := 1 to 100 do
  for cnt2 := 1 to 100 do
      begin
        x[cnt1, cnt2] := 0;
        y[cnt1, cnt2] := 0;
        g[cnt1, cnt2] := '';
        e[cnt1] := 0;
        vargl[cnt1] := 0;
      end;

for frecnt := 1 to 99 do
        begin
         gleichung[frecnt].Free;
         determinante[frecnt].Free;
         lsg[frecnt].Free;
        end;

lblcnt := 0;
lblhgt := 70;
vorzcnt := 0;
label1.Caption := '1';
form1.Height := 227;
form1.Width := 503;

end;
Ich hoffe ihr habt ein paar Antworten für mich... Hoffentlich bis bald! Admirandis
Angehängte Dateien
Dateityp: rar gau__jordan_algorithmus_rar_851.rar (281,0 KB, 12x aufgerufen)
Dateityp: zip gau__jordan_algorithmus_zip_182.zip (303,2 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat