Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр. ← ← найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101 ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
Var f:file of integer; a,i,k,n:integer; begin randomize; assign(f,'file'); rewrite(f); repeat write('Четное количество элементов: '); readln(n); until(n>1) and (n mod 2=0); for i:=1 to n do begin a:=random(100); write(f,a); end; writeln('Содержание исходного файла:'); reset(f); while not eof(f) do begin read(f,a); write(a,' '); end; close(f); writeln; reset(f); seek(f,filesize(f)div 2); truncate(f); writeln('Содержание измененного файла:'); reset(f); while not eof(f) do begin read(f,a); write(a,' '); end; close(f); readln end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку