а) ГВАБ
б) АБГВ
в) ВАБГ
г) ДАГБВ
var
A: array [1..3, 1..5] of Integer;
i, j: Integer;
s: Real;
begin
Randomize;
WriteLn ('Массив:');
for i := 1 to 3 do begin // заполнение массива случайными значениями и вывод для просмотра
for j := 1 to 5 do begin
A [i, j] := Random (22) - 11;
Write (A [i, j], ' ');
end;
Writeln;
end;
for i := 1 to 3 do begin // замена элементов с четной суммой индексов на 555
for j := 1 to 5 do begin
if (i + j) mod 2 = 0 then
A [i, j] := 555;
end;
end;
WriteLn;
WriteLn ('Результат: '); // вывод результата
for i := 1 to 3 do begin
for j := 1 to 5 do begin
Write (A [i, j], ' ');
end;
Writeln;
end;
end.
var
A: array [1..3, 1..5] of Integer;
i, j: Integer;
s: Real;
begin
Randomize;
WriteLn ('Массив:');
for i := 1 to 3 do begin // заполнение массива случайными значениями и вывод для просмотра
for j := 1 to 5 do begin
A [i, j] := Random (22) - 11;
Write (A [i, j], ' ');
end;
Writeln;
end;
for i := 1 to 3 do begin // замена элементов с четной суммой индексов на 555
for j := 1 to 5 do begin
if (i + j) mod 2 = 0 then
A [i, j] := 555;
end;
end;
WriteLn;
WriteLn ('Результат: '); // вывод результата
for i := 1 to 3 do begin
for j := 1 to 5 do begin
Write (A [i, j], ' ');
end;
Writeln;
end;
end.
ответ: б) ВБГА или 162.168.132.64
г) БГДВА или 104.28.239.65
Объяснение:
Для решения данной задачи следует помнить два правила: IP-адрес состоит из четырех десятичных чисел разделенных точками, интервал каждого десятичного числа от 0 до 255. Нам нужно соединить отрывки адреса(цифры и точки) таким образом, чтобы полученные числа не были больше 255.
Рассмотрим на примере б: у нас есть 4 отрывка, из которых нужно собрать адрес, состоящий из 4 чисел и 3 точек между ними.
Мы понимаем, что отрывок под буквой А(.64) не может быть в начале адреса, так как адрес не может начинаться с точки.
Отрывок под буквой Б(2.16) мог бы идти первым в адресе(т.к. все числа не превосходят 255), однако такое его использование не рационально по отношению к другим отрывкам, таким, как, например, отрывку В(16), который не имеет точек и, следовательно, становится очевидно, что его нужно приставить к какому то отрывку, чтобы вместе они образовали не большее 255 число.
Давайте найдем пару для отрывка В: простым перебором смотрим:
пара ВА возможна, но тогда адрес из следующих чисел сложить не получится(16.64 и на выбор остаются либо 2.16, либо 8.132, пробуем подставить первый вариант: 16.642.16 - ошибка, так как число 642>255, со вторым вариантом также) => адрес, начинающийся с ВА - невозможен;
пара ВГ так же невозможна, т.к. следующими возможными адресами будут два: либо 168.1322.16.64 - 1322 > 255 => невозможно, либо 168.132.642.16 - 642 > 255 => невозможно;
остается пара ВБ отходя от которой можно создать существующий адрес IP: 162.168.132.64, где 162 < 255, 168 < 168, 132 < 255, 64 < 255 => возможно;
P.S: если вы умеете мыслить, как программист, попробуйте представлять числа в данных задачах строками, не думайте о том, что числа можно складывать или еще что-то. Эти отрывки - просто набор символов(точек и цифр), из которых операция конкатинации создает адреса, которые уже можно проверять на соответствие условию х =< 255