Einzelnen Beitrag anzeigen

-lx-
(Gast)

n/a Beiträge
 
#11

Re: Problem der Erbteilung ?

  Alt 18. Nov 2006, 21:58
Hier mal bis dato der aktuelle Code... also ich verstehs net wieso er bei einer identischen Zahlenkette, die jediglich mal verkehrt herum überprüft, nichts ausgibt und das andere mal gibt er was richtiges aus. Jedoch stimmt es eig. auch nicht das 17,42,7,4,16 sich nicht gerecht aufteilen läasst ....


Delphi-Quellcode:

[...]

type
  TFeld = Array[1..5] of Integer ;


[...]

var
  Form1: TForm1;
  Feld: TFeld = (17,42,7,4,16) ;
 // Selectiert: TFeld = (0,0,0,0,0) ;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var Erbe: Integer ;


function ErbeBerechnen(): Integer ;
var i, tmp: Integer ;
    begin
      tmp:= 0 ;
      For i:= 1 To length(Feld) Do
          begin
            tmp:= tmp + Feld[i] ;
          end;
      result:= tmp ;
    end;


procedure SucheLoesung(i, Erbhaelfte: Integer) ;
var j, tmp: Integer ;
    begin
      For j:= i To length(Feld) Do
          begin
            tmp:= Feld[j] ;
            If (Erbe + tmp) = Erbhaelfte Then
                begin
                  Erbe:= Erbe + tmp ;
                  Edit1.Text:= 'Gefunden _ ' + IntToStr(Erbe)
                end
            Else If (Erbe + tmp) < Erbhaelfte Then
                begin
                  Erbe:= Erbe + tmp ;
                  If i < length(Feld) Then SucheLoesung(i+1, Erbhaelfte) ;
                  If Erbe > ErbHaelfte Then Erbe:= Erbe - tmp ;
                end;
          end;
    end;
begin
Erbe:= 0 ;
If (ErbeBerechnen mod 2) = 0 Then SucheLoesung(1, ErbeBerechnen div 2)
  Else Edit1.Text:= 'Erbe nicht teilbar!' ;

end;

end.
  Mit Zitat antworten Zitat