znajdowanie szukanego elementu w drzewie oraz porównywanie

 
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
demo14
Nowy



Dołączył: 06 Lut 2014
Posty: 1
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysł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
Kod:
<a>
<b>
</a>
</b>


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
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Bluetab template design by FF8Jake of FFD
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin