Pascalabc. дан массив целых чисел. переформировать элементы исходного массива, поставив перед всеми числами, равными максимальному среди элементов исходного массива номер по порядку встречае мости.
Для начала представим наш IP-адрес в двоичной системе. Переведем каждый байт отдельно. Имеем следующий IP-адрес: 00010100.00010001.00000000.00010000 Число после косой черты - количество единиц в маске подсети. Таким образом, маска подсети будет иметь вид: 11111111.11111111.11111111.11111100 Теперь найдем сетевой адрес, выполнив поразрядно логическое умножение IP-адреса на маску подсети. 00010100.00010001.00000000.00010000 - IP-адрес 11111111.11111111.11111111.11111100 - маска подсети 00010100.00010001.00000000.000100хх - сетевой адрес То есть минимальный адрес (заменяем "х" нулями) - 00010100.00010001.00000000.00010000 (20.17.0.16), а максимальный (заменяем "х" единицами) - 00010100.00010001.00000000.00010011 (20.17.0.19). ответом будут адреса из данного диапазона, то есть 20.16.0.17/30, 20.17.0.17/30, 20.17.0.18/30, 20.17.0.19/30.
var a,b,c:array[10..99] of integer;
ast,bst,cst:string;
i:integer;
begin
ast:='A:';
bst:='Б:';
cst:='В:';
for i:=10 to 99 do
begin
c[i]:=i;
a[i]:=c[i]-i+random(50);
b[i]:=c[i]-a[i];
ast:=ast+' '+inttostr(a[i]);
bst:=bst+' '+inttostr(b[i]);
cst:=cst+' '+inttostr(c[i]);
end;
setpencolor(clRed);
line(0,0,150,0);
line(150,0,75,50);
line(75,50,0,0);
rectangle(0,50,150,300);
DrawTextCentered(0,50,150,300,ast);
setpencolor(clYellow);
line(150,0,300,0);
line(300,0,225,50);
line(225,50,150,0);
rectangle(150,50,300,300);
DrawTextCentered(150,50,300,300,bst);
setpencolor(clGreen);
line(300,0,450,0);
line(450,0,375,50);
line(375,50,300,0);
rectangle(300,50,450,300);
DrawTextCentered(300,50,450,300,cst);
end.