demo14
Nowy
Dołączył: 06 Lut 2014
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 11:31, 06 Lut 2014 Temat postu: znajdowanie szukanego elementu w drzewie oraz porównywanie |
|
|
Mam napisane funkcje, które tworzę tagi i wstawiają je do drzewa.
Kod: | program projekt1;
uses
SysUtils, crt;
type
pointer = ^element;
element = record
data : string;
lewy : pointer;
prawy : pointer;
end;
var
T : pointer;
procedure drukuj(T : pointer); //wyswietla tagi
begin
if(T <> nil) then
begin
writeln(T^.data);
drukuj(T^.lewy);
drukuj(T^.prawy);
end;
end;
procedure dodaj(n : string; var T : pointer); //dodaje tagi do drzewa
begin
if T = nil then
begin
new(T);
T^.data := n;
T^.lewy := nil;
T^.prawy := nil;
end else
begin
if(n < T^.data) then dodaj(n, T^.lewy)
else dodaj(n, T^.prawy);
end;
end;
function test3():word; //testuje plik MODYFIKACJE na stringach
var
Plik : Text;
tag : string ;
nr_spacja, dl_wiersza : byte ;
Begin
Assign(Plik, 'dane.txt');
Reset(Plik);
While not Eof(Plik) do
begin ;
readln(plik, tag);
nr_spacja:=Pos(' ' , tag);
dl_wiersza:=length(tag);
Delete(tag, nr_spacja, dl_wiersza-nr_spacja);
//writeln(tag);
dodaj(tag, T);
end;
End;
begin
test3();
drukuj(T);
readkey;
end. |
Chcę napisać taką funkcję, która mi przeszuka drzewo oraz znajdzie błędy,
Błędy to jest coś takiego
Tzn. nie jest odpowiednio pozamykane.
Pisze Parsera XML.
Proszę mi podpowiedzieć jak mam porównać ze sobą dwa kolejne elementy z drzewa.
Język: pascal, środowisko: lazarus
Post został pochwalony 0 razy
|
|