выдает ошибку 18 строки, переделывала на несколько раз. не могу понять что не правильно, помогите пожалуйста!
С клавиатуры вводятся длина (<=100) вектора и его (целые) элементы. Составить новый вектор, записав в него для каждого элемента исходного вектора средние арифметическое его цифр. Результаты вывести на экран.
uses crt;
var a,b:array[1..100] of integer;
i,n,s,x,k:integer;
begin clrscr;
write('n=');
readln(n);
for i:=1 to n do
read(a[i]);
x:=a[i];
k:=0;
s:=0;
while x>0 do
begin
s:=s+x mod 10;
k:=k+1;
x:=x div 10;
end;
b[i]:=s/k;
writeln('вектор средних арифметических цифр');
for i:=1 to n do write(b[i],' ');
readkey
end.