Twoim problemem jest to, że powszechną NICOŚĆ mylisz z osobistą PUSTKĄ
function rekurencja(n:byte; k:byte):byte;
begin if (n=k) then rekurencja:=1 else if ((n=0) and (k>0)) or (k>n) then rekurencja :=0 else rekurencja := k*rekur encja(n-1,k) +rekurencja(n-1,k-1);end;
{odloz na stos wypisz min i zdejmij}
type wskaznik=^element; element = record
dana:integer;wsk:wskaznik;end; var
p:wskaznik;nu,ne,min:integer;
procedure push(var x:wskaznik; y:integer);
var top:wskaznik; begin new(top); top^. dana:=y; top^.wsk:=x; x:=top; end;
procedure pop(var x:wskaznik; var y:inte ger);var bottom:wskaznik;begin y:=x^.dana;
bottom:=x^.wsk;dispose(x);x:=bottom;end;
begin randomize;ne:=10;while ne>0 do
begin nu:=random(36)+5;push(p,nu);dec(ne);
end;min:=nu;while p<>nil do beginpop(p,nu);
if nu<min then min:=nu;end;writeln('Najmnie jszy element stosu to: ',min);readln; end.
{Każda z klas zawiera metodę wirtualną „jedź”, która w przypadku klasy „Samochód” jest również abstrakcyjna.}
unit samochody; interface uses objects;
type Samochod=object constructor inicjuj;
procedure jedz;virtual; end;
SamochodOsobowy=object(Samochod)
constructor inicjuj; procedure jedz; virtual; end;
SamochodCiezarowy=object(Samochod)
constructor inicjuj; procedure jedz; virtual; end;
SamochodSportowy=object(SamochodOsobowy)
constructor inicjuj; procedure jedz; virtual; end;
SamochodTerenowy=object(SamochodOsobowy)
constructor inicjuj; procedure jedz; virtual; end;
implementation procedure Samochod.jedz;
begin abstract; end; end.
function potega(x,y:byte):longint;
begin if (x=0) and (y=0) then potega:=-1
else if (y=0) then potega:=1 else potega:= x*potega(x,y-1); end;
{l.1-kierunkowa od tylu rekurencyjnie}
procedure show(wsk:wskaznik);begin if (wsk <> nil ) then begin show(wsk^.next); writeln(wsk^.liczba);end;end;
{wsadz 15 do bst pokaz min i del tree}
type TDana = integer; Drzewo = ^TDrzewo;
TDrzewo = record etykieta: TDana;
lewy, prawy: Drzewo; end; var i,n,min: integer; drzewko:Drzewo;
procedure Wstaw(var W:Drzewo;Co:TDana);
begin if W=nil then begin new(W);if W = nil then exit;W^.lewy:=nil;W^.prawy:=nil;
W^.etykieta:=Co;end else if W^.etykieta > Co then Wstaw(W^.lewy,Co)else
if W^.etykieta < Co thenWstaw(W^.prawy,Co);
end;{inorder}procedure drukuj(W : Drzewo);
begin if W <> nil then begin drukuj (W^.Lewy);writeln(W^.Etykieta);drukuj(W^.Prawy);
end;end;
procedure szukaj(W:Drzewo);begin if W <> nil then begin szukaj(W^.Lewy);if W^.etykieta < min then min:=w^.etykieta;szukaj(W^.Prawy);end;end;
procedure usun_drzewo(var W:Drzewo); begin if w<>nil then begin usun_drzewo(w^.lewy); usun_drzewo(w^.prawy); dispose(w);end;end;
begin randomize;min:=50;for i:= 1 to 15 do
begin n:=random(32)+4;{4-35}Wstaw(drzewko, n);
end;writeln('Zawartosc drzewa:');szukaj(Drz ewko);drukuj(drzewko);writeln('min: ',min);
usun_drzewo(drzewko);readln;end.
{odejmowanie modulo}
function modulo(a,b:byte):byte; begin
if a>b then modulo:=modulo(a-b,b) else modulo:=a; end;
{odwroc kolejnosc znakow}
function odwroc2(i:integer;s:string):string;
var tmp:char;begin tmp:=s[i];s[i]:=s[length (s)+1-i];s[length(s)+1-i]:=tmp;if i=length(s)div 2 then odwroc2:=s else odwroc2(i+1,s);end;
{lista 2-k, czy dane sa symetrycznie}
function check(f:wskaznik;last:wskaznik):boole an; beginif (f<>nil) and (last<>nil) then
if f^.dana<>last^.dana then begin check:=false;
exit;end else begin check:=true;check(f^.next, last^.prev);end;end;
{kolejka, wstaw 10 usun wypisz max}
type wskaznik=^element;element=recorddana:inte ger; next:wskaznik; end;var head,tail:wskaznik;
ne,nu,max:integer; procedure enqueue(var h,t: wskaznik; a:integer);var nowy:wskaznik; begin
new(nowy);nowy^.dana:=a;nowy^.next:=nil;if h=nil then begin h:=nowy; t:=h;end else begin t^.next :=nowy; t:=t^.next;end;end;
procedure dequeue(var h:wskaznik; var a:integ er);var temp:wskaznik;begin temp:=h^.next;a:=h^. dana;dispose(h);h:=temp;end;
begin randomize;ne:=10;while ne>0 do begin
nu:=random(41)+10;{10-50}enqueue(head,tail,nu);
dec(ne);end;max:=nu;while head<>nil do begin
if nu>max then max:=nu;dequeue(head,nu);
writeln(nu);end;writeln(max: ',max);readln;end.
{sumuj elementy stosu}
function sumuj(var x:pstos):byte;var temp:pstos;
begin if x^.next<>nil then begin sumuj:=x^.data +sumuj(x^.next);temp:=x^.next;dispose(x);
x:=temp;end;end;
{liczba pierwsza}
function pierwsza(x:byte; i:byte):boolean;
begin if (i<=x) and (i>1) then if (x mod i) = 0 then begin pierwsza:=false; exit; end else begin pierwsza(x,i+1); end; end;
{odwroc ciag znakow}
function odwroc(i:integer;t:string):string;
var tmp:char; begin tmp := t[i];t[i]:= t[leng th(t)+1-i]; t[length(t)+1-i]:=tmp;
if i=length(t)div 2 then odwroc:=t else odwroc:= odwroc(i+1,t); end;
{palindrom}
function pal(s:string;i:integer):boolean;
begin if (s[i]<>s[length(s)-i+1]) then pal:= false; if (s[i]=s[length(s)-i+1])and(i<>len gth(s)div 2) then pal:=pal(s,i+1); end;
{polacz 2 stosy}
procedure polacz(var pI:Pstack;var pII:Pstack);
var temp:Pstack; begin temp:=pI;if pI<>nil then begin repeat pI:=pI^.next; until pI^.next=nil;
pI^.next:=pII; pI:=temp;writeln('Polaczono');
end else writeln('Pierwszy stos pusty!');end;
function rekurencja(n:byte; k:byte):byte;
begin if (n=k) then rekurencja:=1 else if ((n=0) and (k>0)) or (k>n) then rekurencja :=0 else rekurencja := k*rekur encja(n-1,k) +rekurencja(n-1,k-1);end;
{odloz na stos wypisz min i zdejmij}
type wskaznik=^element; element = record
dana:integer;wsk:wskaznik;end; var
p:wskaznik;nu,ne,min:integer;
procedure push(var x:wskaznik; y:integer);
var top:wskaznik; begin new(top); top^. dana:=y; top^.wsk:=x; x:=top; end;
procedure pop(var x:wskaznik; var y:inte ger);var bottom:wskaznik;begin y:=x^.dana;
bottom:=x^.wsk;dispose(x);x:=bottom;end;
begin randomize;ne:=10;while ne>0 do
begin nu:=random(36)+5;push(p,nu);dec(ne);
end;min:=nu;while p<>nil do beginpop(p,nu);
if nu<min then min:=nu;end;writeln('Najmnie jszy element stosu to: ',min);readln; end.
{Każda z klas zawiera metodę wirtualną „jedź”, która w przypadku klasy „Samochód” jest również abstrakcyjna.}
unit samochody; interface uses objects;
type Samochod=object constructor inicjuj;
procedure jedz;virtual; end;
SamochodOsobowy=object(Samochod)
constructor inicjuj; procedure jedz; virtual; end;
SamochodCiezarowy=object(Samochod)
constructor inicjuj; procedure jedz; virtual; end;
SamochodSportowy=object(SamochodOsobowy)
constructor inicjuj; procedure jedz; virtual; end;
SamochodTerenowy=object(SamochodOsobowy)
constructor inicjuj; procedure jedz; virtual; end;
implementation procedure Samochod.jedz;
begin abstract; end; end.
function potega(x,y:byte):longint;
begin if (x=0) and (y=0) then potega:=-1
else if (y=0) then potega:=1 else potega:= x*potega(x,y-1); end;
{l.1-kierunkowa od tylu rekurencyjnie}
procedure show(wsk:wskaznik);begin if (wsk <> nil ) then begin show(wsk^.next); writeln(wsk^.liczba);end;end;
{wsadz 15 do bst pokaz min i del tree}
type TDana = integer; Drzewo = ^TDrzewo;
TDrzewo = record etykieta: TDana;
lewy, prawy: Drzewo; end; var i,n,min: integer; drzewko:Drzewo;
procedure Wstaw(var W:Drzewo;Co:TDana);
begin if W=nil then begin new(W);if W = nil then exit;W^.lewy:=nil;W^.prawy:=nil;
W^.etykieta:=Co;end else if W^.etykieta > Co then ...