Swat | 11 Temmuz 2014 11:04 | İki Kümenin Kesişimi ve Birleşimi 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:
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. |