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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.06.2008, 11:28   #1
Panda
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 24
По умолчанию Задача со строками

Помогите сделать программу.
Строка Т состоит из слов, разделенных пробелами, и содержит русский текст. Выяснить сколько слов начинается приставкой «пре».
Panda вне форума
Старый 30.06.2008, 12:13   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если не влезать в дебри русского языка и считать, что первые три буквы пре- это пристаквка, то делаем так:
Код:
uses crt;
var s:string;
    i,k:integer;
begin
clrscr;
write('s: ');readln(s);
k:=0;
while pos('пре',s)>0 do
   begin
    delete(s,1,pos('пре',s)+3);
    k:=k+1;
   end;
write('k=',k);
readln
end.
Если же разбираться, когда пре- это приставка, а когда нет, то это задача для хорошего филолога.
puporev вне форума
Старый 01.07.2008, 08:22   #3
Panda
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 24
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Если не влезать в дебри русского языка и считать, что первые три буквы пре- это пристаквка, то делаем так:
Код:
uses crt;
var s:string;
    i,k:integer;
begin
clrscr;
write('s: ');readln(s);
k:=0;
while pos('пре',s)>0 do
   begin
    delete(s,1,pos('пре',s)+3);
    k:=k+1;
   end;
write('k=',k);
readln
end.
Если же разбираться, когда пре- это приставка, а когда нет, то это задача для хорошего филолога.
Спасибо!!!
Panda вне форума
Старый 01.07.2008, 11:57   #4
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Если не влезать в дебри русского языка и считать, что первые три буквы пре- это пристаквка, то делаем так:
Код:
uses crt;
var s:string;
    i,k:integer;
begin
clrscr;
write('s: ');readln(s);
k:=0;
while pos('пре',s)>0 do
   begin
    delete(s,1,pos('пре',s)+3);
    k:=k+1;
   end;
write('k=',k);
readln
end.
Если же разбираться, когда пре- это приставка, а когда нет, то это задача для хорошего филолога.
Интересно, а как эта прога обработает строку:"Пре препрепре"?
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума
Старый 01.07.2008, 12:01   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Преведите на русский. Ибо на идиотский программа не расчитана.
puporev вне форума
Старый 01.07.2008, 12:35   #6
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Преведите на русский. Ибо на идиотский программа не расчитана.
Еще вариант, который правильно обрабатывает "идиотский язык"
Код:
uses crt;
var
 c:integer;
 s:string;
begin
  clrscr;
  write('stroka='); readln(s);
  s:=' '+s+' ';
  while pos(' пре',s)>0 do
  begin
    inc(c);
    delete(s,1,pos(' пре',s));
    delete(s,1,pos(' ',s)-1);
  end;
  writeln('kol. slov=',c);
  readkey;
end.
From Stilet: Ты был бы еще молодцее, якби оформлял код спецтегом (#)
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)

Последний раз редактировалось Stilet; 02.07.2008 в 08:23.
bag вне форума
Старый 02.07.2008, 03:34   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

bag. Молодец!! Плюс.

puporev
а имхо, Вы не правы... :-(

во-первых, грубо... :-(
а во-вторых, в Вашей программе совершенно не учитывается условие "сколько слов начинается приставкой «пре»."
И, если Вам так не нравится "идиотский язык", то попробуйте слова "светопредставление, попрекать, сопредельный" и ещё много-много русских слов )
Serge_Bliznykov вне форума
Старый 02.07.2008, 08:39   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Прошу прощения, господа. Тысячу раз неправ. Всегда задевает, что решать никто не хочет, а когда выложишь свой код, пусть с ошибками, всегда найдется умник, который с чуством своего превосходства начинает размазывать тебя по стенке, вместо того чтобы просто указать на ошибку и исправить ее. К Вам, Серж, это не относится.
puporev вне форума
Старый 02.07.2008, 09:10   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чтоб вы окончательно помирились скажу что задание у автора не полное, ибо походу имеется ввиду что перед ПРЕ больше приставок нет, т.е. слова сопредельный или недоперепить не учитываются, иначе нужно писать анализатор корней, а это уж на крупненькую прогу потянет. )

Тем паче что автор обьявил благодарность. Так что тему закрываю.
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
help со строками SYL@R Помощь студентам 6 07.07.2008 13:04
задача на работу с файлами и строками MiH@N Помощь студентам 8 24.06.2008 00:44
задача на сложные действия со строками Converse Паскаль, Turbo Pascal, PascalABC.NET 5 03.01.2008 07:34
Задача со строками Klyan Общие вопросы C/C++ 6 21.09.2007 22:22
работа со строками Alar Общие вопросы Delphi 1 30.10.2006 11:59