Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.04.2014, 23:31   #1
Loqwer78rus
Пользователь
 
Регистрация: 24.03.2014
Сообщений: 60
Печаль Delphi help!

Программа при вводе символов разделенных пробелами должна высчитывать количество слов.
Программа нуждается в доработке. У меня все нормально считает. Но если пробел в начале, то считает как ещё одно слово. Как сделать так чтобы и спереди можно было лепить большое количество пробелов ?
Цитата:
var
s:string;
n,k,i:integer;

begin
s:=Edit1.Text;
k:=0;
n:=length(s);
for i:=1 to n do
if (s[i]=' ') and (s[i+1]<>' ') then
k:=k+1;
Label3.Caption:=' '+ IntToStr(k+1);

end;
Loqwer78rus вне форума
Старый 24.04.2014, 23:34   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Код:
 s:= Trim(Edit1.Text);
ATL вне форума
Старый 24.04.2014, 23:44   #3
Loqwer78rus
Пользователь
 
Регистрация: 24.03.2014
Сообщений: 60
По умолчанию

О. Спс огромное
Loqwer78rus вне форума
Старый 25.04.2014, 08:57   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

и ещё у Вас ошибка выхода за пределы строки.
сравните:
Код:
  s:=Trim(Edit1.Text);
  k:=0;
  for i:=1 to length(s)-1 do
     if (s[i]=' ') and (s[i+1]<>' ') then
           k:=k+1;
да и я бы вообще так написал (считаем по последнему символу слова):
Код:
  s := Trim(Edit1.Text) + ' ';
  k := 0;
  for i:=1 to length(s)-1 do
     if (s[i]<>' ') and (s[i+1]=' ') then Inc(k);
  Label3.Caption:=' '+ IntToStr(k);
Serge_Bliznykov вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в libcef.dll только с Delphi 7, в Delphi XE3 - нет noname_06 Общие вопросы Delphi 6 08.05.2013 06:49
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54