Wieso definierst Du Dir keinen Record, der den Zahlenwert und den Operator enthält?
Delphi-Quellcode:
type
TMyRec =
record
Zahl: Integer;
//Zahlenwert
Subtr: Boolean;
//Addition(false) oder Subtraktion(true)
end;
function Berechne(
const Arr:
array of TMyRec;
var Ergebnis: Integer): Boolean;
var i: Integer;
begin
Result := false;
Ergebnis := 0;
if Length(Arr) < 1
then Exit;
//Operator des 1. Elements wird ignoriert
Ergebnis := Arr[Low(Arr)].Zahl;
//die folgenden Elemente werden je nach Wert von Subtr addiert oder subtrahiert
for i := Succ(Low(Arr))
to High(Arr)
do
begin
if Arr[i].Subtr
then
Dec(Ergebnis,Arr[i].Zahl)
else
Inc(Ergebnis,Arr[i].Zahl);
end;
Result := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
var TestArr:
array[0..2]
of TMyRec;
Erg: Integer;
begin
FillChar(TestArr,SizeOf(TestArr),0);
TestArr[0].Zahl := 15;
TestArr[1].Zahl := 10;
TestArr[2].Zahl := 24;
TestArr[2].Subtr := True;
Berechne(TestArr,Erg);
ShowMessage(IntToStr(Erg));
end;
Vielleicht hab ich aber auch nur wieder alles falsch verstanden