Помощь - Поиск - Пользователи - Календарь
Полная версия: Работе со строками в языке Object Pascal
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
status
Текст Задачи : Вводится строка. Сколько процентов в ней таких пробелов, рядом с которыми нет других пробелов?

var S:string;
i,count:integer;
begin
S:=Edit1.Text;
count:=0;
i:=1;
while i<=length(S) do
 if (S[i]=' ') and(S[i+1]<>' ') then
 begin
 inc(count);
 inc(i)
 end
 else
  inc(i,2);
Label1.Caption:=inttostr(count);
 


Когда ввожу не длинную строку считает без ошибак но когда увеличиваю получяю ошибочный результат. Подскожите в чём ошибка и как правильней вывести проценты?
Гость
Цитата
while i<length(S) do
volvo
В Object Pascal строки индексируются с 0...
var
  S:string;
  i,count,space:integer;
begin
  S:=Edit1.Text;

  count := 0; space := 0;
  for i := 1 to pred(length(s)) do
    if (S[i] = ' ') then begin
      inc(space);
      if (S[i-1] <> ' ') and (s[i+1] <> ' ') then inc(count);
    end;

  Label1.Caption := format('%6.2f%', [(count/space)*100]);
end;

status
Благодарю!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.