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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2011, 23:40   #1
Demon_en
 
Регистрация: 18.10.2011
Сообщений: 8
Сообщение Ребят П0м0гите написать прогу "ОБРАБОТКА СИМВОЛЬНОЙ ИНФОРМАЦИИ"

Ребят помогите написать прогу.... на паскале
суть такова:
################################### ############
С клавиатуры посимвольно вводится фраза. Определите, сколько имен собственных содержится в данной фразе. Именем собственным считать слово, начинающееся с большой буквы. Фраза считается введенной, если очередной веденный символ - точка
################################### ############

сам не понимаю как это сделать... помогите написать плиз...
заранее спасибо
Demon_en вне форума Ответить с цитированием
Старый 19.10.2011, 00:57   #2
Dush
Форумчанин
 
Регистрация: 29.09.2011
Сообщений: 116
По умолчанию

можно вот так
Код:
var ch:char; //вводимый символ
old_ch:char;//предидущий символ
k:integer; //кол-во слов собственных
begin
    read(ch);
    old_ch:=' ';
    k:=0;
    while  ch<>'.' do
    begin
      if (ch=UpCase(ch)) and (old_ch=' ') then k:=k+1;
      old_ch:=ch;
      read(ch);
    end;
    Writeln(k);
    readln;
end.

Последний раз редактировалось Dush; 19.10.2011 в 00:59.
Dush вне форума Ответить с цитированием
Старый 19.10.2011, 08:37   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Dush, простое и красивое решение. Хоть и не без недостатков.

Хотя, конечно, можно поспорить.
1) в задании ничего не сказано о разделителях слов. ладно.
раз не сказано, можем считать, что разделитель - пробел.

2) Если пробелов несколько подряд? Если не ошибаюсь, то в вашем коде пробел после пробела посчитается за имя собственное.

p.s. исправить легко - достаточно добавить условие, что символ не равен пробелу:
Код:
      if (ch<>' ') and (ch=UpCase(ch)) and (old_ch=' ') then k:=k+1;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.10.2011, 09:54   #4
Demon_en
 
Регистрация: 18.10.2011
Сообщений: 8
По умолчанию

программы не хочет запускаться.. но не чего.. понял в чём ошибка=)
спасибо огромное за идейку, прогу=)
спасибо
Demon_en вне форума Ответить с цитированием
Старый 30.10.2011, 21:36   #5
Demon_en
 
Регистрация: 18.10.2011
Сообщений: 8
Радость

Ребят.. а как написать ту прогу со String???
Demon_en вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка символьной информации kop Общие вопросы C/C++ 2 17.04.2011 02:10
нужно написать прогу "музыкальный редактор" maloy1988 Общие вопросы .NET 6 08.07.2010 12:08
C++.обработка символьной информации Vladka2 Фриланс 2 10.01.2010 02:25
Кто сможет помоч написать прогу на паскале или делфи на тему базы данных "Зоопарк" DeluxeSan Помощь студентам 6 08.12.2009 19:32
написать на Delphi прогу типа "Автоинспектор" Vexis Помощь студентам 20 29.12.2008 17:24