Адрес сети получается применением поразрядной конъюнкции маски к IP адресу. Нам же нужно найти наибольшее возможное значение третьего байта маски.
Предположим значение маски с пятым битом слева равным единице: =11111000₂ Тогда применяя конъюнкцию к IP адресу 11001000₂ получаем адрес третьего байта сети: 11001000₂, что не соответствует условию задачи.
А применив значение маски с первыми четырьмя битами равным единице: 11110000₂ к IP адресу 11001000₂ получим как раз искомое значение третьего байта сети: 11000000₂
240
Адрес сети получается применением поразрядной конъюнкции маски к IP адресу. Нам же нужно найти наибольшее возможное значение третьего байта маски.
Предположим значение маски с пятым битом слева равным единице: =11111000₂ Тогда применяя конъюнкцию к IP адресу 11001000₂ получаем адрес третьего байта сети: 11001000₂, что не соответствует условию задачи.
А применив значение маски с первыми четырьмя битами равным единице: 11110000₂ к IP адресу 11001000₂ получим как раз искомое значение третьего байта сети: 11000000₂
Объяснение:
type mas=array[1..10,1..10]of integer;
procedure vvod(var a:mas;var m,n:integer;c:char);
var i,j:integer;
begin
repeat
writeln('Введите размеры массива ',c,' m,n от 2 до 10');
readln(m,n);
until(m in [2..10])and(n in [2..10]);
writeln('Введите элементы массива целые числа, в том числе суммы в четных строках по возрастанию');
for i:=1 to m do
for j:=1 to n do
begin
write(c,'[',i,',',j,']=');
readln(a[i,j]);
end;
end;
procedure print(a:mas;m,n:integer;st:string);
var i,j,s:integer;
begin
writeln(st);
writeln('Сумма':n*5+8);
for i:=1 to m do
begin
s:=0;
for j:=1 to n do
begin
write(a[i,j]:5);
s:=s+a[i,j];
end;
writeln(s:8);
end;
end;
procedure check(a:mas;m,n:integer);
var i,j,k,s,s1:integer;
begin
k:=0;
i:=2;
while(i<=m)and(k=0) do
begin
s:=0;
for j:=1 to n do
s:=s+a[i,j];
if i=2 then s1:=s
else if s<=s1 then k:=1;
s1:=s;
i:=i+2;
end;
writeln('k=',k);
if k=0 then writeln('Суммы в четных строках упорядочены по возрастанию')
else writeln('Суммы в четных строках не упорядочены по возрастанию');
writeln;
end;
var a,b:mas;
ma,na,mb,nb:integer;
begin
vvod(a,ma,na,'A');
print(a,ma,na,'Массив А');
check(a,ma,na);
vvod(b,mb,nb,'B');
print(b,mb,nb,'Массив B');
check(b,mb,nb);
end.