1) Ваша программа будет считать количество слов, начинающихся с той же буквы, на которую кончается
текущее предложение. Так и задумано?
2) Нужно модифицировать проверку:
Код:
if (a[i]=a[length(a)]) and ((i=1)or(a[i-1]=' ')) then
k:=k+1;
Поскольку для первого слова (когда i=1) a[i-1] не существует.
Или второй вариант, более правильный:
Код:
if (a[i]=a[length(a)]) then
if (i=1)
k:=k+1
else if (a[i-1]=' ') then // чтобы для i=1 не обращаться к a[i-1];
k:=k+1; // на практике компилятор, возможно, и в первом случае
// обращаться не будет, когда i=1.
Кстати, если предложение будет начинаться с пробелов, программа работать не будет. Предварительно надо их убрать (если нужно).
Кстати v2, в конце то же самое. Если на конце знаки препинания или пробелы - не заработает. Их бы тоже убрать.