Pascal programlama dilinde yazılmış bu programda dizi olarak verilmiş iki kümenin kesişimini ve birleşimini bulunması sağlanmıştır. Matematikteki birleşim ve kesişim için ideal örnek teşkil etmektedir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
uses crt;
var
dizi1,dizi2,kes,bir:array[1..100] of integer;
i,j,k,m,n,yedek:integer;
procedure kesisim;
begin
k:=0;i:=0;
while(i<=n) do
begin
i:=i+1; j:=1;
while((j<=m) and (dizi1[i]<>dizi2[j])) do
begin j:=j+1; end;
if(j<=m)then
begin
k:=k+1;
kes[k]:=dizi2[j];
end;
end;
for i:=1 to k do
write(kes[i],' ');
writeln('');
end;
procedure birlesim;
begin
for i:=1 to n do
bir[i]:=dizi1[i];
for i:=1 to m do
bir[n+i]:=dizi2[i];
for j:=1 to k do
begin
for i:=1 to m+n do
if bir[i]=kes[j]then begin bir[i]:=-1;i:=m+n;end;
end;
for i:=1 to m+n-1 do
for j:=i+1 to m+n do
begin
if bir[i]>bir[j] then
begin
yedek :=bir[i];
bir[i]:=bir[j];
bir[j]:=yedek;
end;
end;
for i:=1 to m+n do
begin
if (bir[i]<>-1) then write(bir[i],' ');
end;
end;
begin
clrscr;
writeln('Birinci dizi boyutunu giriniz...');
readln(n);
writeln('İkinci dizi boyutunu giriniz...');
readln(m);
writeln('Birinci dizi degerlerini giriniz...');
for i:=1 to n do
read(dizi1[i]);
writeln('İkinci dizi degerlerini giriniz...');
for i:=1 to m do
read(dizi2[i]);
writeln('');
readln;
kesisim;
writeln('');
birlesim;
readln;
end.