Показать сообщение отдельно
  #2  
Старый 14.03.2012, 20:15
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

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, в конце то же самое. Если на конце знаки препинания или пробелы - не заработает. Их бы тоже убрать.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием