
--------------------------------------------------------------------------------
Добавленное сообщение
--------------------------------------------------------------------------------
вот часть моей программы:
Код: Выделить всё
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
TreeView1: TTreeView;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
P_Node = ^T_Node;
T_Node = record
info: string;
key: integer;
left, right: P_Node;
end;
procedure InsertInTree(var t: P_Node; k: Integer);
var
Form1: TForm1;
root: P_Node;
implementation
{$R *.dfm}
procedure InsertInTree(var t: P_Node; k: Integer);
begin
if t = nil
then begin
new(t);
t^.left := nil;
t^.right := nil;
t^.key := k;
t^.info:=form1.Edit2.Text;
end
else if k <= t^.key
then InsertInTree(t^.left, k)
else InsertInTree(t^.right, k);
end;
procedure ShowTree(t: P_Node; p: TTreeNode);
begin
if t <> nil then
with Form1.TreeView1 do
begin
p := Items.AddChild(p, IntToStr (t^.key) + ':'+ t^.info);
ShowTree(t^.left, p);
ShowTree(t^.right, p)
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
InsertInTree(root, strtoint(edit1.Text));
end;
procedure TForm1.Button2Click(Sender: TObject); TreeView1
var b: boolean;
begin
TreeView1.Items.Clear;
ShowTree(root, NIL);
TreeView1.FullExpand;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
function IsPalindrom(AWord: string): Boolean;
var
I: Integer;
begin
for I := 1 to Length(AWord) div 2 do
if AWord[i] <> AWord[Length(AWord) - I + 1] then
begin
IsPalindrom := False;
// Exit;
end;
IsPalindrom := True;
end;
function CalcPalindromCount(ATree: P_Node): Integer;
var
N: Integer;
begin
if ATree = nil then
begin
CalcPalindromCount := 0;
Exit;
end;
if IsPalindrom(ATree^.Info) then
N := ATree^.key
else
N := 0;
CalcPalindromCount := N + CalcPalindromCount(ATree^.Left)
+ CalcPalindromCount(ATree^.Right);
end;
procedure TForm1.Button4Click(Sender: TObject);
var x:integer;
begin
???????????????????????????????????
end;
end.
