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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2013, 16:26   #1
aless23
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 19
По умолчанию Слова на букву b

Помогите пожалуйста...суть проблемы следующая:Необходимо написать программу, которая считает колличество слов которые начинаются на букву "b" из набранного текста...
Заранее огромное спасибо!!!
aless23 вне форума Ответить с цитированием
Старый 15.06.2013, 17:07   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Код:
s:='Набранный текст';
kolvo:=0;

for i:=2 to length(s) do
if (s[i-1] = ' ') AND (s[i] = 'b') then inc(kolvo);

if s[1] = 'b' then inc(kolvo);
Вадим Мошев вне форума Ответить с цитированием
Старый 15.06.2013, 18:01   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Вадим
А тебе не кажется, что эта развилка чуть "наиграна"?
Цитата:
if s[1] = 'b' then inc(kolvo);
Предлагаю сделать так :
Код:
s:='Набранный текст';
s := ' ' + s;
kolvo:=0;

for i:=2 to length(s) do
if (s[i-1] = ' ') AND (s[i] = 'b') then inc(kolvo);
Poma][a вне форума Ответить с цитированием
Старый 15.06.2013, 18:10   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Роман, я обдумывал такой вариант... НО! тип string [в Паскале] имеет ограничение в 255 символов. Что будет, если на вход будет подана строка именно такой (255) длинны?
Вадим Мошев вне форума Ответить с цитированием
Старый 15.06.2013, 18:58   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
s:='Набранный текст';
kolvo:=0;
for i:=1 to length(s) do
  if (s[i] = 'b') AND ((i=1) OR (s[i-1] = ' ')) then inc(kolvo);
Надеюсь в паскале OR так же, как в дельфи обрабатывается, т.е. если i=1, то следующее условие не проверяется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.06.2013, 19:01   #6
aless23
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 19
По умолчанию

Спасибо огромное!!!Вы очень помогли!!!!!!!

Последний раз редактировалось aless23; 15.06.2013 в 19:04.
aless23 вне форума Ответить с цитированием
Старый 15.06.2013, 19:09   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Вадим, возможно, ты прав..
Аватар, имхо не стоит нести через весь цикл обработку 1-го случая..
Poma][a вне форума Ответить с цитированием
Старый 15.06.2013, 19:17   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
имхо не стоит нести через весь цикл обработку 1-го случая
Ну да, потеряем на предложении 0.0001 сек и или сколько там
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.06.2013, 19:41   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
имхо не стоит нести через весь цикл обработку 1-го случая..
Еще не известно, насколько "дорого" выходит добавка пробела в начало строки
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать в массив каждую букву слова Faton 11 Общие вопросы C/C++ 6 10.01.2014 17:04
Дан текст, состоящий из букв и пробелов, слова разделяются пробелом. Поменять первую и вторую букву каждого слова. danteone Помощь студентам 6 21.05.2012 12:31
Из данного предложения вычеркнуть слова, содержащие заданную букву. ayoka Паскаль, Turbo Pascal, PascalABC.NET 1 17.05.2012 13:30
Поменять 1 и последнюю букву последнего слова а строке с++ Bolisoff Помощь студентам 1 10.01.2012 18:22
Как определить на какую букву начинаются слова в строке??? Telec Помощь студентам 1 18.04.2010 20:28