В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места – нули. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Например, если IP-адрес узла равен , а маска равна , то адрес сети равен . Узлы с IP-адресами и находятся в разных сетях.
Ничего не сказано про повторяющиеся значения. Если не делать проверку на повторяющиеся значения, то вот программа (проверена на версии ПаскальАВС.Нет):
var x: array [1..10] of integer; y, z: array [1..15] of integer; i, j, k: integer; f: boolean;begin //заполнение и распечатка массива Х for i := 1 to 10 do begin x[i] := random(10) + 1; write(x[i]:3); end; writeln;
//заполнение и распечатка массива У for i := 1 to 15 do begin y[i] := random(10) + 1; write(y[i]:3); end; writeln;
//заполнение массива Z for i := 1 to 15 do begin f := true; for j := 1 to 10 do if x[j] = y[i] then begin f := false; break; end; if f then begin k := k + 1; z[k] := y[i]; end; end;
//распечатка массива Z for i:=1 to k do write(z[i]:3); end.
Например, если IP-адрес узла равен , а маска равна , то адрес сети равен .
Узлы с IP-адресами и находятся в разных сетях.