A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalon Előző változat | |||
|
inf-prog-fszi:uniokepzes [2017/06/22 08:28] beistvan |
inf-prog-fszi:uniokepzes [2017/06/22 14:17] (aktuális) beistvan |
||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| + | ====== Únióképzés ====== | ||
| + | |||
| + | **Általános feladat**: Rendelkezésünkre áll egy N és egy M elemű halmaz az A() és a B() vektorban ábrázolva. Készítsük el a két halmaz egyesítését a C() vektorba! | ||
| + | |||
| + | <code bash uniokepzes.txt> | ||
| + | Eljárás: | ||
| + | Ciklus I=1-től N-ig | ||
| + | C(I): | ||
| + | Ciklus vége | ||
| + | CN:=N | ||
| + | Ciklus J=1-től M-ig | ||
| + | I:=1 | ||
| + | Ciklus amíg I<=N és A(I)<> | ||
| + | I:=I+1 | ||
| + | Ciklus vége | ||
| + | Ha I>N akkor | ||
| + | CN:=CN+1 | ||
| + | C(CN):=B(J) | ||
| + | Ha vége | ||
| + | Ciklus vége | ||
| + | Eljárás vége. | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pascal forráskód | ||
| + | |||
| + | <code pascal uniokepzes.pas> | ||
| + | program uniokepzes; | ||
| + | const n = 10; | ||
| + | m = 12; | ||
| + | var a: array [1..n] of integer; | ||
| + | b: array [1..m] of integer; | ||
| + | c: array [1..n+m] of integer; | ||
| + | i, j, k: integer; | ||
| + | begin | ||
| + | randomize; | ||
| + | //tömbök elkészítése | ||
| + | for i:=1 to n do | ||
| + | begin | ||
| + | a[i]: | ||
| + | write(a[i], ' '); | ||
| + | end; | ||
| + | writeln; | ||
| + | for j:=1 to m do | ||
| + | begin | ||
| + | b[j]: | ||
| + | write(b[j], ' '); | ||
| + | end; | ||
| + | writeln; | ||
| + | //írjuk ki a c-be az a és b unióját! | ||
| + | // | ||
| + | for i:=1 to n do | ||
| + | c[i]:=a[i]; | ||
| + | k:=n; | ||
| + | for j:=1 to m do begin | ||
| + | i:=1; | ||
| + | while (i<=n) and (a[i]<> | ||
| + | i:=i+1; | ||
| + | if i>n then begin | ||
| + | k:=k+1; | ||
| + | c[k]:=b[j]; | ||
| + | end; | ||
| + | end; | ||
| + | writeln(' | ||
| + | for i:=1 to k do | ||
| + | write(c[i], ' '); | ||
| + | readln; | ||
| + | end. | ||
| + | |||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Unióképzés egyedi elemekkel. | ||
| + | |||
| + | <code pascal uniokepzes_egyedielemek.pas> | ||
| + | program uniokepzes_egyedielemek; | ||
| + | const n = 10; | ||
| + | m = 12; | ||
| + | var a: array [1..n] of integer; | ||
| + | b: array [1..m] of integer; | ||
| + | c: array [1..n+m] of integer; | ||
| + | i, j, k, l: integer; | ||
| + | begin | ||
| + | randomize; | ||
| + | //tömbök elkészítése | ||
| + | for i:=1 to n do | ||
| + | begin | ||
| + | a[i]: | ||
| + | write(a[i], ' '); | ||
| + | end; | ||
| + | writeln; | ||
| + | for j:=1 to m do | ||
| + | begin | ||
| + | b[j]: | ||
| + | write(b[j], ' '); | ||
| + | end; | ||
| + | writeln; | ||
| + | //írjuk ki a c-be az a és b unióját!(egyesítsünk) | ||
| + | k:=0; | ||
| + | for i:=1 to n do begin | ||
| + | l:=1; | ||
| + | while (l<=k) and (c[l]<> | ||
| + | l:=l+1; | ||
| + | if l>k then begin | ||
| + | k:=k+1; | ||
| + | c[k]:=a[i]; | ||
| + | end; | ||
| + | end; | ||
| + | // | ||
| + | for j:=1 to m do begin | ||
| + | i:=1; | ||
| + | while (i<=n) and (a[i]<> | ||
| + | i:=i+1; | ||
| + | if i>n then begin | ||
| + | l:=1; | ||
| + | while (l<=k) and (c[l]<> | ||
| + | l:=l+1; | ||
| + | if l>k then begin | ||
| + | k:=k+1; | ||
| + | c[k]:=b[j]; | ||
| + | end; | ||
| + | end; | ||
| + | end; | ||
| + | writeln(' | ||
| + | for i:=1 to k do | ||
| + | write(c[i], ' '); | ||
| + | readln; | ||
| + | end. | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ===== Órai gyakorlat ===== | ||
| + | (szükséges könyvtár: [[inf-prog-fszi: | ||
| + | |||
| + | <code pascal uniokepzes.pas> | ||
| + | program uniokepzes; | ||
| + | uses tomb_io; | ||
| + | var a,b,c:tomb; | ||
| + | | ||
| + | begin | ||
| + | beolvas(a, | ||
| + | beolvas(b, | ||
| + | kiir(a, | ||
| + | kiir(b, | ||
| + | for i:=1 to n do | ||
| + | c[i]:=a[i]; | ||
| + | k:=n; | ||
| + | for j:=1 to m do | ||
| + | begin | ||
| + | if not talal(a, | ||
| + | begin | ||
| + | k:=k+1; | ||
| + | c[k]:=b[j]; | ||
| + | end; | ||
| + | end; | ||
| + | kiir(c, | ||
| + | readln; | ||
| + | end. | ||
| + | </ | ||