unit grafcsuc; interface const maxpont=100; nincsel=0; nincs=-1; type eltip=integer;{a matrixnak ilyen tipusu elemei vannak - CSUCSMATRIX} {ponttip=record i,j:integer; end;} csucsm=array[1..maxpont,1..maxpont] of eltip; graf=object private n:integer; m:csucsm; public procedure ures{(var graf:csucsm)}; function csucsszam{(const graf:csucsm)}:integer; function elszam{(const graf:csucsm)}:integer; function vanel({const graf:csucsm;}const i,j:integer):boolean; function elsoszomszed({const graf:csucsm;}const i:integer):integer; function kovszomszed({const graf:csucsm;}const i:integer):integer; procedure ujel({var graf:csucsm;}const i,j:integer;const h:eltip); procedure eltorol({var graf:csucsm;}const i,j:integer); procedure ujcsucs({var graf:csucsm;}const i:integer); procedure csucstorol({var graf:csucsm;}const i:integer); end; implementation procedure graf.ures{(var graf:csucsm)}; var i,j:integer; begin for i:=1 to n do for j:=1 to n do m[i,j]:=nincsel; end; function graf.elszam{(const graf:csucsm)}:integer; var i,j,sv:integer; begin sv:=0; for i:=1 to n do {meddig kellene szamolni?} for j:=1 to n do begin if m[i,j]<>nincsel then sv:=sv+1; end; elszam:=sv; end; function graf.csucsszam{(const graf:csucsm)}:integer; begin csucsszam:=n; end; function graf.vanel({const graf:csucsm;}const i,j:integer):boolean; begin if m[i,j]=nincsel then vanel:=false else vanel:=true; end; function graf.elsoszomszed({const graf:csucsm;}const i:integer):integer; var j:integer; begin if i>1 then begin j:=i-1; while (j>0) and (m[i,j]=nincsel) do j:=j-1; if j>0 then elsoszomszed:=j else elsoszomszed:=nincsel; end else elsoszomszed:=nincsel; end; function graf.kovszomszed({const graf:csucsm;}const i:integer):integer; var j:integer; begin if i=n then kovszomszed:=nincsel else begin j:=1+1; while (j<=n) and (m[i,j]=nincsel) do j:=j+1; if j>n then kovszomszed:=nincsel else kovszomszed:=j; end; end; procedure graf.ujel({var graf:csucsm;}const i,j:integer;const h:eltip); begin m[i,j]:=h; end; procedure graf.eltorol({var graf:csucsm;}const i,j:integer); begin m[i,j]:=nincsel; end; procedure graf.ujcsucs({var graf:csucsm;}const i:integer); begin end; procedure graf.csucstorol({var graf:csucsm;}const i:integer); var j:integer; begin for j:=1 to n do begin m[i,j]:=nincs; m[j,i]:=nincs; end; end; begin end.