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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2013, 20:38   #1
Trampoline
 
Регистрация: 04.03.2013
Сообщений: 8
Смущение Ввод и обработка текста. Найти одинаковые предложения [Turbo Pascal, QBasic]

Уважаемые друзья. Не могли бы вы мне помочь с данной задачей? Заранее премного благодарен за вашу помощь.


Составить программу на языке Паскаль или Бейсик ввода и обработки текста из нескольких предложений согласно заданию. При этом считать, что число предложений и число строк могут не совпадать, каждое слово находится целиком в одной строке, ввод строки завершается нажатием клавиши ENTER, точка – конец предложения.

Найти одинаковые предложения. Если таких предложений нет, то вывести соответствующее сообщение
Trampoline вне форума Ответить с цитированием
Старый 18.04.2013, 21:09   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Насколько я понимаю, задача решается в два этапа:
1. Разбить содержимое каждого файла на отдельные предложения.
2. Перебором сравнить предложения из одного файла с предложениями из другого файла.

Примечание: задача может оказаться слишком ресурсоемкой по меркам Турбо Паскаля. Если это так, можно обсудить и способы преодоления таких затруднений.
s-andriano вне форума Ответить с цитированием
Старый 18.04.2013, 23:05   #3
Trampoline
 
Регистрация: 04.03.2013
Сообщений: 8
По умолчанию

А что-нибудь по поводу кода можете написать?
Trampoline вне форума Ответить с цитированием
Старый 18.04.2013, 23:11   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Могу.
А вы?
s-andriano вне форума Ответить с цитированием
Старый 19.04.2013, 00:58   #5
Trampoline
 
Регистрация: 04.03.2013
Сообщений: 8
По умолчанию

К сожалению только вывод текста :D Точнее тот блок, который отвечает за это) Я так понимаю в данной задаче стоит сравнивать не сами предложения, а слова в них. Вот только как это оформить, я не знаю.
Trampoline вне форума Ответить с цитированием
Старый 19.04.2013, 07:48   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

1. Не вижу никаких причин, чтобы не сравнивать предложения целиком.
2. Сравнение строк синтаксически реализуется точно так же, как и сравнение чисел.

Вопрос лишь в том, что нужно те строки, которые есть в файле, преобразовать в строки по одному предложению в каждой.
s-andriano вне форума Ответить с цитированием
Старый 19.04.2013, 10:24   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Trampoline, напишите код, который читает текст и разбивает на отдельные предложения. с кодом поиска одинаковых предложения я постараюсь помочь.

Ещё определитесь, какие предложения считать одинаковыми.
Например,
Код:
На диване лежала красивая Роза.
На диване лежала красивая роза.
НА ДИВАНЕ ЛЕЖАЛА КРАСИВАЯ РОЗА.
На     диване    лежала      красивая  роза.
На диване лежала, красивая, роза.
какие из них одинаковы?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.04.2013, 14:17   #8
Trampoline
 
Регистрация: 04.03.2013
Сообщений: 8
По умолчанию

Одинаковых нет. Судя по всему нужно ещё и регистр учитывать, но это же тогда по буквам чуть ли не придётся смотреть о_О. Считаю, что одинаковыми стоит считать предложения типа:

- На диване лежала красивая роза.
- На диване лежала красивая роза.

Вот эти два предложения одинаковые.
Trampoline вне форума Ответить с цитированием
Старый 19.04.2013, 17:52   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

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

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

Trampoline, на самом деле, регистр - это не проблема. Если его нужно игнорировать, то обе строки приводят К одному регистру (например, оба сравниваемых предложения переводят в строчные буквы. Это делается достаточно просто - либо через встроенную функцию ЯП, либо, если такой функции нет или она не устраивает, тогда через собственную функцию).

Цитата:
Сообщение от s-andriano
Думаю, что в примере строки 2 и 4 следует считать одинаковыми.
Согласен.

Ну, раз с критериями одинаковости определелись, Trampoline, Вы будете писать код разбора текста?..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Turbo Pascal)Обработка текста и числа!Составьте программу,определяющую.. Swetic Помощь студентам 2 21.01.2013 08:27
Turbo Pascal поворт текста на 90 градусов F1Book Фриланс 4 21.10.2010 17:21
Turbo Pascal. Формирование и обработка одномерного массива мирЗвонка Помощь студентам 2 04.11.2009 12:17
Обработка строк в языке Turbo Pascal Vad56 Помощь студентам 6 26.10.2009 21:18
[Turbo Prolog] Анализатор текста на языке Pascal Arkuz Помощь студентам 1 04.05.2009 20:41