IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Работе со строками в языке Object Pascal
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: andrey

Репутация: -  0  +


Текст Задачи : Вводится строка. Сколько процентов в ней таких пробелов, рядом с которыми нет других пробелов?

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);



Когда ввожу не длинную строку считает без ошибак но когда увеличиваю получяю ошибочный результат. Подскожите в чём ошибка и как правильней вывести проценты?

Сообщение отредактировано: status -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
while i<length(S) do
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






В 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;

 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: andrey

Репутация: -  0  +


Благодарю!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.09.2020 20:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name