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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2011, 09:38   #1
Сristina
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 20
Восклицание Файлы

Дан текст, содержащий слова. Посчитать кол-во слов, у которых первое и последнее слово начинается на одну и ту же букву.
решите пожалуйста, у меня не получается(
Сristina вне форума Ответить с цитированием
Старый 01.03.2011, 10:01   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не получается? Значит пытались?!
Давайте код, который написали в результате этих ваших попыток.

p.s.
а ещё нужно указывать язык программирования.

А ещё в таких задачах обычно в условии задаётся, что является разделителем слов.

А ещё рекомендую в поиск сходить, такие задачи неоднократно решались на форуме!


ДОБАВЛЕНО
Перечитал условие задачи и офигел слегка! o_O!
А как это количество слов, у которых есть первое и последнее слово?!!! Как у слова может быть первое и последнее слово?!

Может найти количество строк?
Или найти количество предложений?
Или что?!!

В данной формулировке задача не имеет решения вообще!

Последний раз редактировалось Serge_Bliznykov; 01.03.2011 в 10:06.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2011, 09:25   #3
Сristina
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 20
По умолчанию

ой=))) Посчитать кол-во слов, у которых первый и последний символ начинается на одну и туже букву.

Язык Pascal)
Сristina вне форума Ответить с цитированием
Старый 02.03.2011, 11:54   #4
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
Перечитал условие задачи и офигел слегка! o_O!
А как это количество слов, у которых есть первое и последнее слово?!!!
Тут люди числа с цифрами путают. Почему бы и буквы со словами не путать.
Теперь по делу. Cristina, вот код - разбирайтесь. При желании можно дописать на проверку заглавных букв
Код:
Var
  Ishstr,bufStr:String;
  i,kolSlov:Byte;
begin
  Readln(IshStr);
  BufStr:='';
  KolSlov:=0;
  For i:=1 to Length(IshStr) do
  Begin
    If (Ishstr[i] <> ' ') then BufStr:=BufStr+IshStr[i];
    If (IshStr[i] = ' ') or (i = Length(Ishstr)) then
    Begin
      If (BufStr[1] = BufStr[Length(Bufstr)]) then Inc(KolSlov);
      BufStr:=''
    End;
  End;
  If KolSlov > 0 then
  Writeln('Kol slov = ',Kolslov)
  Else
  Writeln('Not Found');
  Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 02.03.2011, 12:23   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вполне ничего себе.
Мне кажется есть небольшой косячокс. (не проверял, в уме прогнал код! могу и ошибаться!)

надо обязательно добавить перед проверкой равенства первого и последего символов BufStr проверку, что Length(BufStr)>0
иначе, если входная строка начинается с нуля будут косяки с обращением к несуществующим символам BufStr!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2011, 13:33   #6
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
если входная строка начинается с нуля будут косяки с обращением к несуществующим символам BufStr!
Не совсем понял как это. Можно поподробнее?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 02.03.2011, 14:13   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

выделено цветом:
Код:
If (IshStr[i] = ' ') or (i = Length(Ishstr)) then
    Begin
      if Length(Bufstr)>0 then begin
         If (BufStr[1] = BufStr[Length(Bufstr)]) then Inc(KolSlov);
         BufStr:=''
      end;
    End;
Цитата:
Не совсем понял как это. Можно поподробнее?
тоже, кстати, должно происходить, если между словами в строке более одного пробела.
Коллега, ну что я Вам буду разжёвывать, Вы же сами в состоянии пройтись и проверить.
ну, Если встретиили пробел, значит идём по веточке If (BufStr[1] = BufStr[Length(Bufstr)])
при чём, это пробел может быть ПЕРВЫЙ в строке! или слово было отработано, а после него ещё есть пара пробелов...
В этом случае у нас в Bufstr пустая строка. Так? что даст Bufstr[1] если строка пустая?!
А что даст BufStr[Length(Bufstr)] при пустой строке? вот то ж...

p.s. поваторюсь - это мои измышления, в паскале не проверял!

Последний раз редактировалось Serge_Bliznykov; 02.03.2011 в 14:18.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2011, 20:58   #8
Сristina
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 20
По умолчанию

Спасибо Огромное!!!))) Всё, я разобралась))
Сristina вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
Файлы Veronika# Паскаль, Turbo Pascal, PascalABC.NET 2 22.04.2010 22:07
Файлы Алексей Д. Помощь студентам 2 10.05.2008 19:21
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53