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

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

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


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

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

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

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

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

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 в 10:03.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.07.2011, 10:00   #6
zzz6
Пользователь
 
Регистрация: 10.06.2011
Сообщений: 60
По умолчанию

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840