Переводим третий байт IP адреса (127) и адреса сети (64) в двоичную систему: 1111111 - ip 1000000 - net
Добавим незначащие нули, чтобы кол-во бит было равно восьми:
01111111 - ip 01000000 - net
Адрес сети получается в результате применения поразрядной конъюнкции к разрядам ip адреса и маски, то есть смотрим, какими должны быть биты маски, чтобы при умножении их на биты IP-адреса получились такие биты адреса сети, какие нам даны:
11000000 - mask 01111111 - ip 01000000 - net
Учитываем, что в маске всегда идут сначала единицы, потом только нули.
Const N1 = 5; N2 = 5; var a: array [0..N1, 0..N2] of integer; b: array [0..N1*N2] of integer; i, j, n: integer; begin for i:=0 to N1 do {Заполнение массивы случайными числами} for j := 0 to N2 do a[i, j] := random(9999); for i:=0 to N1 do {Основная часть, проверка и заполнение второго массива} for j := 0 to N2 do if (a[i, j] mod 2 = 0) then begin b[n] := a[i, j]; n := n + 1; end; for i:=0 to n do {Вывод полученных чисел} writeln(b[i]); end.
1111111 - ip
1000000 - net
Добавим незначащие нули, чтобы кол-во бит было равно восьми:
01111111 - ip
01000000 - net
Адрес сети получается в результате применения поразрядной конъюнкции к разрядам ip адреса и маски, то есть смотрим, какими должны быть биты маски, чтобы при умножении их на биты IP-адреса получились такие биты адреса сети, какие нам даны:
11000000 - mask
01111111 - ip
01000000 - net
Учитываем, что в маске всегда идут сначала единицы, потом только нули.
Переводим 11000000 в десятичную, это 192.
ответ: 192
N2 = 5;
var a: array [0..N1, 0..N2] of integer;
b: array [0..N1*N2] of integer;
i, j, n: integer;
begin
for i:=0 to N1 do {Заполнение массивы случайными числами}
for j := 0 to N2 do
a[i, j] := random(9999);
for i:=0 to N1 do {Основная часть, проверка и заполнение второго массива}
for j := 0 to N2 do
if (a[i, j] mod 2 = 0) then
begin
b[n] := a[i, j];
n := n + 1;
end;
for i:=0 to n do {Вывод полученных чисел}
writeln(b[i]);
end.