Felhasználói eszközök

Eszközök a webhelyen


inf-prog-fszi:metszetkepzes

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalon Előző változat
inf-prog-fszi:metszetkepzes [2017/06/18 15:47]
beistvan
inf-prog-fszi:metszetkepzes [2017/06/21 14:17] (aktuális)
beistvan
Sor 114: Sor 114:
  
 [[https://​ideone.com/​sgR7yq | A <​metszetkepzes_egyedielemek.pas>​ forráskódjának futtatása online ]] [[https://​ideone.com/​sgR7yq | A <​metszetkepzes_egyedielemek.pas>​ forráskódjának futtatása online ]]
 +
 +Órai gyakorlat
 +
 +<code pascal metszetkepzes1.pas>​
 +program metszetkepzes1;​
 +const max_hossz=10;​ n=8; m=6;
 +type tomb = array [1..max_hossz] of integer;
 +var i,j, k, l : integer;
 +    a,b,c: tomb;
 +procedure beolvas(var t : tomb; hossz: byte; nev: char );
 +var i: integer;
 +begin
 +  writeln('​Kerem a(z) "',​ nev, '"​ tomb elemeit: ');
 +  for i:=1 to hossz do
 +  begin
 +    write(nev, '​[',​i,'​] = '); readln(t[i]);​
 +  end;
 +end;
 +procedure kiir(t : tomb; hossz: byte);
 +var i: integer;
 +begin
 +  for i:=1 to hossz do
 +    write(t[i]:​3);​
 +  writeln;
 +end;
 +begin //foprogram
 +  beolvas(a, n, '​a'​);​
 +  beolvas(b, m, '​b'​);​
 +  kiir(a,n);
 +  kiir(b,m);
 +  k:=0;
 +  for i:=1 to n do
 +  begin
 +    j:=1;
 +    while (j<=m) and (a[i]<>​b[j]) do
 +      j := j + 1;
 +    if j<=m then
 +    begin
 +      l:=1;
 +      while (l<=k) and (c[l]<>​a[i]) do
 +        l := l + 1;
 +      if l>k then
 +      begin
 +        k:=k+1;
 +        c[k]:=a[i];
 +      end;
 +    end;
 +  end;
 +  kiir(c, k);
 +  readln;
 +end.
 +
 +</​code>​
 +
 +<code pascal metszetkepzes2.pas>​
 +program metszetkepzes2;​
 +const maxhossz=10;​ n=8; m=6;
 +type tomb = array [1..maxhossz] of integer;
 +var i, k : integer;
 +    a,b,c: tomb;
 +procedure beolvas(var t : tomb; hossz: byte; nev: char );
 +var i: integer;
 +begin
 +  writeln('​Kerem a(z) "',​ nev, '"​ tomb elemeit: ');
 +  for i:=1 to hossz do
 +  begin
 +    write(nev, '​[',​i,'​] = '); readln(t[i]);​
 +  end;
 +end;
 +procedure kiir(t : tomb; hossz: byte);
 +var i: integer;
 +begin
 +  for i:=1 to hossz do
 +    write(t[i]:​3);​
 +  writeln;
 +end;
 +function talal(t: tomb; hossz:byte; elem:​integer):​boolean;​
 +var i:integer;
 +begin
 +  i:=1;
 +  while (i<​=hossz) and (t[i] <> elem) do
 +    i:=i+1;
 +  talal:​=i<​=hossz;​
 +end;
 +begin //foprogram
 +  beolvas(a, n,  '​a'​);​
 +  beolvas(b, m,  '​b'​);​
 +  kiir(a,n);
 +  kiir(b,m);
 +  k:=0;
 +  for i:=1 to n do begin
 +    if talal(b,​m,​a[i]) then begin
 +      if not talal(c,​k,​a[i]) then begin
 +        k:=k+1;
 +        c[k]:=a[i];
 +      end;
 +    end;
 +  end;
 +  kiir(c, k);
 +  readln;
 +end.
 +
 +</​code>​
 +
 +<code pascal metszetkepzes3.pas>​
 +program metszetkepzes3;​
 +const maxhossz=10;​ n=8; m=6;
 +type tomb = array [1..maxhossz] of integer;
 +procedure beolvas(var t : tomb; hossz: byte; nev: char );
 +var i: integer;
 +begin
 +  writeln('​Kerem a(z) "',​ nev, '"​ tomb elemeit: ');
 +  for i:=1 to hossz do
 +  begin
 +    write(nev, '​[',​i,'​] = '); readln(t[i]);​
 +  end;
 +end;
 +procedure kiir(t : tomb; hossz: byte; nev: char );
 +var i: integer;
 +begin
 +  write(nev+':​ ');
 +  for i:=1 to hossz do
 +    write(t[i]:​3);​
 +  writeln;
 +end;
 +function talal(t: tomb; hossz:byte; elem:​integer):​boolean;​
 +var i:integer;
 +begin
 +  i:=1;
 +  while (i<​=hossz) and (t[i] <> elem) do
 +    i:=i+1;
 +  talal:​=i<​=hossz;​
 +end;
 +var i, k : integer;
 +    a,b,c: tomb;
 +begin //foprogram
 +  beolvas(a, n,  '​a'​);​
 +  beolvas(b, m,  '​b'​);​
 +  kiir(a,​n,'​a'​);​
 +  kiir(b,​m,'​b'​);​
 +  k:=0;
 +  for i:=1 to n do
 +  begin
 +    if talal(b,​m,​a[i]) and not talal(c,​k,​a[i])then
 +    begin
 +      k:=k+1;
 +      c[k]:=a[i];
 +    end;
 +  end;
 +  kiir(c, k,'​c'​);​
 +  readln;
 +end.
 +
 +</​code>​
 +
inf-prog-fszi/metszetkepzes.txt · Utolsó módosítás: 2017/06/21 14:17 szerkesztette: beistvan