Program Pr1;
uses crt;
var mas:array[1..15] of integer;
i,max,min,b,v:integer;
Begin
clrscr;
for i:=1 to 15 do mas[i]:=random(10);
for i:=1 to 15 do write(mas[i]);
max:=0;
min:=100000;
b:=0;
for i:=1 to 15 do begin
if mas[i]>max then max:=i;
if mas[i]<min then min:=i;
end;
if max>min then for i:=min to max div 2 do begin
v:=mas[max-b];
mas[max-b]:=mas[i];
mas[i]:=v;
b:=b+1;
end
else for i:=max to min div 2 do begin
v:=mas[min-b];
mas[min-b]:=mas[i];
mas[i]:=v;
b:=b+1;
end;
writeln();
for i:=1 to 15 do write(mas[i]);
end.
1. Сколько всего можно использовать символов? 12 букв + 10 цифр = 22.
2. Сколько бит нужно для кодировки 22? 5 бит. (смотрим по степеням двойки, нужна такая минимальная степень 2, которая больше или равна 22. равной нет, следующая 32. 2^5=32)
3. Сколько БАЙТ нужно для кодировки одного номера? 5(из пункта 2) * 6(длина из условия) : 8 (перевод из битов в байты, тк по условию номер у нас в байтах. 1 байт = 8 бит) = 3,75, но берем 4 байта. (всегда округляем в большую сторону, иначе, если возьмем 3, байт для хранения не хватит)
4. Если 1 номер - 4 байта, то 32 номера = 4*32 = 128 байт.
ответ: 128 байт для хранения 32 номеров.