Witam,
Potrzebuję napisać program z osobnymi modułami, który z pliku wczytanego tworzy drzewo binarnych poszukiwań i potem wyświetla dane (już posortowane). Mam problem przy wypisywaniu. Nie jestem pewien (pewnie nie) czy dobrze korzystam z obiektów.
Proszę o pomoc.
Plik operacje.pas
unit operacje;
interface
type tree = ^ node;
node = record
left, right:tree;
imie, nazwisko:string;
end;
type
ODane = object
korzen:tree;
procedure wczytaj_do_BST(); //2
procedure wyswietl_BST(n:tree); //3
end;
implementation
procedure wstaw(n:tree;imie,nazwisko:string);
begin
if n=nil then
begin
new(n);
n^.imie:=imie;
n^.nazwisko:=nazwisko;
n^.left:=nil;
n^.right:=nil;
writeln(nazwisko);
end
else if nazwisko<n^.nazwisko then
wstaw(n^.left,imie,nazwisko)
else
wstaw(n^.right,imie,nazwisko);
end;
procedure ODane.wczytaj_do_BST();
var
f:text;
wiersz:string;
begin
assign(f, 'C:\Users\pioncz\Documents\kurs pascal\zad41\dane.txt');
reset(f);
while not eof(f) do
begin
readln(f,wiersz);
wstaw(korzen,wiersz,wiersz);
end;
close(f);
end;
procedure ODane.wyswietl_BST(n:tree);
begin
writeln(n^.nazwisko);
end;
begin
end.
Plik main.pas
program zad41;
uses operacje;
var
jakas_zmienna : ODane;
begin
jakas_zmienna.korzen:=nil;
//jakas_zmienna.wyswietl();
jakas_zmienna.wczytaj_do_BST();
jakas_zmienna.wyswietl_BST(jakas_zmienna.korzen);
readln;
end.