/* SumaZbiorow.java */ import java.util.*; public class SumaZbiorow { public static void main(String[] args) { String[] a = {"a", "b", "c"}; String[] b = {"b", "c", "d"}; Object[] suma = suma(a,b); wypisz(a); System.out.println("+"); wypisz(b); System.out.println("="); wypisz(suma); System.out.println(); } static Object[] suma(Object[] a, Object[] b) { Object[] suma = new Object[a.length + b.length]; System.arraycopy(a, 0, suma, 0, a.length); int k = a.length; for (int j = 0; j < b.length; j++) { int i; for (i = 0; i < a.length; i++) { if (b[j].equals(a[i])) break; } if (i == a.length) { suma[k] = b[j]; k++; } } if (k < a.length + b.length) { Object[] pom = new Object[k]; System.arraycopy(suma, 0, pom, 0, k); suma = pom; } return suma; } static void wypisz(Object[] t) { System.out.print("{ "); for (int i = 0; i < t.length; i++) System.out.print(t[i] + " "); System.out.println("}"); } }
{ a b c } + { b c d } = { a b c d } Press any key to continue...
Zadanie Dokonaj analizy programu SumaZbiorow.
a = {"a", "b", "c"}; b = {"b", "c", "d"}; suma = suma(a,b) = {"a", "b", "c", "d"} * suma(a,b) = {"a", "b", "c", "d"} a = {"a", "b", "c"} b = {"b", "c", "d"} suma = {null, null, null, null, null, null} suma = {"a", "b", "c", null, null, null} k = 3 j = 0 0 < 3 i i = 0 0 < 3 "b" = b[0].equals(a[0] = "a") false i = 1 1 < 3 "b" = b[0].equals(a[1] = "b") break 1 == 3 false j = 1 1 < 3 i i = 0 0 < 3 "c" = b[1].equals(a[0] = "a") false i = 1 1 < 3 "c" = b[1].equals(a[1] = "b") false i = 2 2 < 3 "c" = b[1].equals(a[2] = "c") break 2 == 3 false j = 2 2 < 3 i i = 0 0 < 3 "d" = b[2].equals(a[0] = "a") false i = 1 1 < 3 "d" = b[2].equals(a[1] = "b") false i = 2 2 < 3 "d" = b[2].equals(a[2] = "c") false i = 3 3 < 3 false 3 == 3 suma[3] = b[2] = "d" // suma = {"a", "b", "c", "d", null, null} k = 4 j = 3 3 < 3 false 4 < 6 pom = {null, null, null, null} pom = {"a", "b", "c", "d"} suma = pom return sum = {"a", "b", "c", "d"} "{ a b c } + { b c d } = { a b c d }"
/* RoznicaZbiorow.java */ import java.util.*; public class RoznicaZbiorow { public static void main(String[] args) { String[] a = {"a", "b", "c"}; String[] b = {"c", "d", "e"}; Object[] roznica = roznica(a,b); wypisz(a); System.out.println("\\"); wypisz(b); System.out.println("="); wypisz(roznica); System.out.println(); } static Object[] roznica(Object[] a, Object[] b) { Object[] roznica = new Object[a.length]; int k = 0; for (int i = 0; i < a.length; i++) { int j; for (j = 0; j < b.length; j++) { if (a[i].equals(b[j])) break; } if (j == b.length) { roznica[k] = a[i]; k++; } } if (k < a.length) { Object[] pom = new Object[k]; System.arraycopy(roznica, 0, pom, 0, k); roznica = pom; } return roznica; } static void wypisz(Object[] t) { System.out.print("{ "); for (int i = 0; i < t.length; i++) System.out.print(t[i] + " "); System.out.println("}"); } }
{ a b c } \ { c d e } = { a b } Press any key to continue...
Zadanie Dokonaj analizy programu RoznicaZbiorow.
a = {"a", "b", "c"}; b = {"c", "d", "e"}; roznica = roznica(a,b) = {"a", "b"} * roznica(a,b) = {"a", "b"} a = {"a", "b", "c"} b = {"c", "d", "e"} roznica = {null, null, null} k = 0 i = 0 0 < 3 j j = 0 0 < 3 "a" = a[0].equals(b[0] = "c") false j = 1 1 < 3 "a" = a[0].equals(b[1] = "d") false j = 2 2 < 3 "a" = a[0].equals(b[2] = "e") false j = 3 3 < 3 false 3 == 3 roznica[0] = a[0] = "a" // roznica = {"a", null, null} k = 1 i = 1 1 < 3 j j = 0 0 < 3 "b" = a[1].equals(b[0] = "c") false j = 1 1 < 3 "b" = a[1].equals(b[1] = "d") false j = 2 2 < 3 "b" = a[1].equals(b[2] = "e") false j = 3 3 < 3 false 3 == 3 roznica[1] = a[1] = "b" // roznica = {"a", "b", null} k = 2 i = 2 2 < 3 j j = 0 0 < 3 "c" = a[2].equals(b[0] = "c") break 0 == 3 false i = 3 3 < 3 false 2 < 3 pom = {null, null} pom = {"a", "b"} roznica = pom return roznica = {"a", "b"} "{ a b c } \ { c d e } = { a b }"
/* IloczynZbiorow.java */ import java.util.*; public class IloczynZbiorow { public static void main(String[] args) { String[] a = {"a", "b", "c"}; String[] b = {"b", "c", "d"}; Object[] iloczyn = iloczyn(a,b); wypisz(a); System.out.println("i"); wypisz(b); System.out.println("="); wypisz(iloczyn); System.out.println(); } static Object[] iloczyn(Object[] a, Object[] b) { Object[] iloczyn = new Object[a.length]; int k = 0; for (int i = 0; i < a.length; i++) { int j; for (j = 0; j < b.length; j++) { if (a[i].equals(b[j])) break; } if (j < b.length) { iloczyn[k] = a[i]; k++; } } if (k < a.length) { Object[] pom = new Object[k]; System.arraycopy(iloczyn, 0, pom, 0, k); iloczyn = pom; } return iloczyn; } static void wypisz(Object[] t) { System.out.print("{ "); for (int i = 0; i < t.length; i++) System.out.print(t[i] + " "); System.out.println("}"); } }
{ a b c } i { b c d } = { b c } Press any key to continue...
Zadanie Dokonaj analizy programu IloczynZbiorow.
a = {"a", "b", "c"}; b = {"b", "c", "d"}; iloczyn = iloczyn(a,b) = {"b", "c"} * iloczyn(a,b) = {"b", "c"} a = {"a", "b", "c"} b = {"b", "c", "d"} iloczyn = {null, null, null} k = 0 i = 0 0 < 3 j j = 0 0 < 3 "a" = a[0].equals(b[0] = "b") false j = 1 1 < 3 "a" = a[0].equals(b[1] = "c") false j = 2 2 < 3 "a" = a[0].equals(b[2] = "d") false j = 3 3 < 3 false 3 < 3 false i = 1 1 < 3 j j = 0 0 < 3 "b" = a[1].equals(b[0] = "b") break 0 < 3 iloczyn[0] = a[1] = "b" // iloczyn = {"a", null, null} k = 1 i = 2 2 < 3 j j = 0 0 < 3 "c" = a[2].equals(b[0] = "b") false j = 1 1 < 3 "c" = a[2].equals(b[1] = "c") break 1 < 3 iloczyn[1] = a[2] = "c" // iloczyn = {"a", "c", null} k = 2 i = 3 3 < 3 false 2 < 3 pom = {null, null} pom = {"a", "c"} iloczyn = pom return iloczyn = {"a", "c"} "{ a b c } i { b c d } = { b c }"