1. нумеруешь все цифры двоичного числа справа налево начиная нумерацию с 0 2. для всех позиций на которых стоят 1 вычисляешь соответствующую степень двойки (зависит от нумерации) 3. складываешь все вычисленные степени двойки и получаешь искомое десятичное число. Например, 1101 это 8+4+1=13. из 10 в 2: 1. делишь число на 2 и записываешь остатки от деления. Деление продолжаешь пока не получишь 0 2. записываешь остатки от деления в обратном порядке их нахождения Например, для числа 25: 25 | 1 12 | 0 6 | 0 3 | 1 1 | 1 получаем в двоичной 11001
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.
2. для всех позиций на которых стоят 1 вычисляешь соответствующую степень двойки (зависит от нумерации)
3. складываешь все вычисленные степени двойки и получаешь искомое десятичное число. Например, 1101 это 8+4+1=13.
из 10 в 2:
1. делишь число на 2 и записываешь остатки от деления.
Деление продолжаешь пока не получишь 0
2. записываешь остатки от деления в обратном порядке их нахождения Например, для числа 25:
25 | 1
12 | 0
6 | 0
3 | 1
1 | 1
получаем в двоичной 11001
может быть есть и другие но нас учили именно так
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.