В одной из кодировок Unicode каждый символ кодируется 16 битами. Вова написал текст (в нём нет лишних пробелов): «Собака, кошка, курица, корова, лошадь, коза, овца – домашние животные». Затем он добавил в список название ещё одного животного. Заодно он добавил необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 16 байт больше, чем размер исходного предложения. Напишите в ответе длину добавленного названия животного в символах.
var
a,b:array[1..n] of integer;
i,j,k,m,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(51)-25;
write(a[i]:5);
end;
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end;
m:=j;
for k := 1 to m-1 do
for i := 1 to m-k do
if (b[i]<b[i+1]) then
begin
c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c;
end;
writeln('Вс массив:');
for i:=1 to m do write(b[i]:5);
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end;
writeln('Полученный массив:');
for i:=1 to n do write(a[i]:5);
writeln;
end.
Пример:
Исходный массив:
-15 -8 -6 -13 15 24 5 -2 14 -1 19 -2 -7 -8 -23 20 -2 7 -2 -10
Вс массив:
-1 -2 -2 -2 -2 -6 -7 -8 -8 -10 -13 -15 -23
Полученный массив:
-1 -2 -2 -2 15 24 5 -2 14 -6 19 -7 -8 -8 -10 20 -13 7 -15 -23
const n=20;
var
a:array[1..n] of integer;
i,k,s:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i]:4)
end;
writeln;
write('K = '); readln(k);
s:=0;
for i:=1 to n do
if a[i] mod k = 0 then s:=s+a[i];
Writeln('s = ',s);
end.
Пример:
Исходный массив:
18 -24 -4 -21 15 19 18 -16 -1 -8 7 -21 21 22 -24 -4 18 -16 24 4
K = 3
s = 24
2.
const n=10;
var
a:array[1..n] of integer;
i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(11);
Write(a[i]:4)
end;
writeln;
writeln('Выбранные элементы:');
for i:=1 to n do
if a[i]<=i then Write(a[i]:4) else write(' ':4);
Writeln;
end.
Пример:
Исходный массив:
9 1 2 8 2 7 1 10 8 3
Выбранные элементы:
1 2 2 1 8 3