Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 12.07.2011, 10:20   #1
zzz6
Форумчанин
 
Регистрация: 10.06.2011
Сообщений: 60
Репутация: 12
По умолчанию Дано предложение из нескольких слов, отделенных пробелом или запятой и пробелом, заканчивающейся точкой.....

Дано предложение из нескольких слов, отделенных пробелом или запятой и пробелом, заканчивающейся точкой. Вывести все повторяющийся слова в предложении.
Delphi
zzz6 вне форума   Ответить с цитированием
Старый 12.07.2011, 10:42   #2
Utkin
Профессионал
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Адрес: DuckBurg
Сообщений: 18,305
Репутация: 3917
По умолчанию

А если в предложении встретилась точка? Она будет считаться элементом слова?
__________________
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума   Ответить с цитированием
Старый 12.07.2011, 10:46   #3
zzz6
Форумчанин
 
Регистрация: 10.06.2011
Сообщений: 60
Репутация: 12
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
А если в предложении встретилась точка? Она будет считаться элементом слова?
нет не будет))
zzz6 вне форума   Ответить с цитированием
Старый 12.07.2011, 10:50   #4
Utkin
Профессионал
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Адрес: DuckBurg
Сообщений: 18,305
Репутация: 3917
По умолчанию

Очередные взаимоисключающие параграфы. Я спрашиваю, потому что продумываю алгоритм... А другие знаки препинания? Дело в том, что если читать только задание, то в нем любая точка кроме последней считается элементом слова, приравнена к букве. Вот и поди разберись, что вы хотите?
__________________
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума   Ответить с цитированием
Старый 12.07.2011, 10:58   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,090
Репутация: 5656
По умолчанию

Utkin, согласно заголовку темы - точка - всё, конец предложения. Так что, цикл перебора строки можно завершать. Найден конец предложения. И, кстати, в подобных задачах можно считать, что в конце строки 100% есть точка. Иначе исходные данные не соответствуют заданному условию. Поэтому программа может НЕ РАБОТАТЬ! (хотя, безусловно, это касается ТОЛЬКО ИСКЛЮЧИТЕЛЬНО учебных задач! В реальной программисткой практике подобные "вольности" категорически недопустимы!)


zzz6,
традиционный вопрос: что удалось сделать, что не получается?

я бы
1) взял на форуме код парсинга и рабора строки на отдельные слова
примерно так
Цитата:
Код:
{отпарсить - разобрать строчку на слова.
 выделить слова} { (c) Stilet}
var 
  s:string; a:array[1..100] of string;
  i,count:integer;
begin
 s:='Hello my world';
 count:=1;
 i:=1; 
 while (i<=length(s)) do begin
   if s[i] in [' ',',','.'] then begin inc(count);inc(i);end;
   a[count]:=a[count]+s[i];
   inc(i);
 end;
2) дальше вариантов масса. Начиная с использования TStringList и банальной сортировки, потом вывод результатов в простом однопроходном цикле.
Либо, обработать массив, проверив, встречается ли I-е (слово с индексом i) слово после текущего I, если встречается - то проверить, если слова нет с индексом меньше I (это значит ранее это слово уже выводилось) - тогда вывести данное слово, как повторяющееся...


p.s. а ещё Вам нужно решить, регистрозависимая ли проверка должна быть ( слова Мама и мама - это повторяющееся или нет...)

Последний раз редактировалось Serge_Bliznykov; 12.07.2011 в 11:03.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 12.07.2011, 11:00   #6
zzz6
Форумчанин
 
Регистрация: 10.06.2011
Сообщений: 60
Репутация: 12
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Очередные взаимоисключающие параграфы. Я спрашиваю, потому что продумываю алгоритм... А другие знаки препинания? Дело в том, что если читать только задание, то в нем любая точка кроме последней считается элементом слова, приравнена к букве. Вот и поди разберись, что вы хотите?
надо чтоб программа просто выводила повторяющиеся слова в данном предложении. знаки препинания не выводить..)
zzz6 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. just_dake Помощь студентам 3 29.05.2011 13:35
Дана строка слов,отделённых пробелом,в конце строки точка.поменять местами два центральных слова Dima170792 Помощь студентам 4 05.05.2011 23:04
idhttp проблема с пробелом andrejjka Работа с сетью в Delphi 2 26.12.2010 18:52
Числа с плав. точкой или запятой? dx+ Общие вопросы Delphi 1 08.05.2008 16:47


07:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.