Преобразование массива символов в число - Pascal ABC

Формулировка задачи:

Const P='1'; n=9;
var k:0..9999;
d:array[1..n] of '0'..P;
В массиве d записаны символы являющиеся цифрами двоичной записи числа (d[9]- младшая цифра числа; возможно, с незначащими нулями в начале). Получить десятичное целое число k. Помогите решить! (а то у меня 0 получается)

Код к задаче: «Преобразование массива символов в число - Pascal ABC»

textual
const P='1';
      n=9;
var k:0..9999;
    d:array[1..n] of '0'..P;
    i,j,m:0..9999;
begin
randomize;
writeln('Число в СС 2');
for i:=1 to n do
 begin
  d[i]:=char(random(2)+48);
  write(d[i]);
 end;
writeln;
k:=0;
for i:=n-1 downto 1 do
 begin
  if d[i]='1' Then
   begin
    m:=1;
    for j:=1 to n-i do m:=m*2;
   end
  else m:=0;
  k:=k+m;
 end;
if d[n]='1' then inc(k);
writeln('Число в СС 10=',k);
end.

5   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ