![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
and75 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите пожалуйста! Задача следующая:
Найти в предложенном тексте наиболее часто используемое трехбуквенное сочетание. Выписать все слова с этим набором букв в отдельный файл. Заранее благодарен! |
andriano |
![]()
Сообщение
#2
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Я, кажется, подозреваю, какие именно трехбуквенные сочетания испольуются чаще всего. ;)
PS. Пока нет своего варианта решения - обсуждать нечего. |
PavelM |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Pavel Репутация: ![]() ![]() ![]() |
поищи по форуму, примерно такое задание было только там искали корень (однокоренное слово).
|
and75 |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот наваял что-то похожее...
Может кому пригодится... Код Program Task1; Type SetLow = set of 'а'..'я'; SetUp = set of 'А'..'Я'; RecThree = record Str : String[3]; Kol : Word; end; Var f, f1 : Text; Name : String; Stroka : String; RussLow : SetLow; RussUp : SetUp; ThreeLet : String[3]; NumThree : Word; ArrThree : array [1..10000] of RecThree; i : Integer; MaxElem : Word; PosMax : Integer; Procedure SearchThree; Var j : Integer; isExist : Boolean; Begin isExist:=False; for j:=1 to NumThree do if ThreeLet = ArrThree[j].Str then begin Inc(ArrThree[j].Kol); isExist:=True; Break; end; if not isExist then begin Inc(NumThree); ArrThree[NumThree].Str:=ThreeLet; ArrThree[NumThree].Kol:=1; end; End; Begin Writeln ('Введите имя исходного файла (имя.txt): '); Read(name); Assign(f, name); Assign(f1,'result.txt'); Reset(f); Rewrite(f1); ThreeLet:=''; NumThree:=0; PosMax:=0; RussLow := ['а'..'я']; RussUp := ['А'..'Я']; While Not EOF(f) do begin Readln(f,Stroka); for i:=1 to Length(Stroka) do begin if Length(ThreeLet)=3 then Delete(ThreeLet,1,1); if Stroka[i]=' ' then ThreeLet:=''; if (Stroka[i] in RussUp) or (Stroka[i] in RussLow) then ThreeLet:=ThreeLet+Stroka[i]; if Length(ThreeLet)= 3 then SearchThree; end; if Stroka[Length(Stroka)] <> '-' then ThreeLet:=''; end; MaxElem:=0; PosMax:=0; for i:=1 to NumThree do if ArrThree[i].Kol>MaxElem then begin MaxElem := ArrThree[i].Kol; PosMax := i; end; Writeln('Наиболее часто встречаемое трехбуквенное сочетание: ', ArrThree[PosMax].Str); Writeln('Количество: ', ArrThree[PosMax].Kol); {Закрываем текстовые файлы} Close(f1); Close(f); End. Здесь только поиск ОДНОГО трехбуквенного сочетания |
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата RussLow := ['а'..'я']; RussUp := ['А'..'Я']; С таким описание множеств работать правильно программа просто не будет, в эти интервалы попадает еще куча лишних символов, помимо кириллицы. поменяй на ['a'..'п', 'р'..'я] Добавлено через 11 мин. Кстати насчет задания, на каждой строке файла на сколько я понимаю записано некое словосочетание, а не одно слово ? И скажем в слове qwerty 3-х буквенные сочетания: -qwe -wer -ert -rty ? Сообщение отредактировано: klem4 - 19.03.2008 19:22 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
and75 |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
С таким описание множеств работать правильно программа просто не будет, в эти интервалы попадает еще куча лишних символов, помимо кириллицы. поменяй на ['a'..'п', 'р'..'я] Добавлено через 11 мин. Кстати насчет задания, на каждой строке файла на сколько я понимаю записано некое словосочетание, а не одно слово ? И скажем в слове qwerty 3-х буквенные сочетания: -qwe -wer -ert -rty ? Спасибо за поправку, но по условию задачи там нет никаких псевдосимволов. Дан некоторый текстовый файл, имя которого следует запросить у пользователя, содержит небольшой, форматированный (2-3 книжных страницы шириной ровно 60 знаков) фрагмент текста на русском языке. Да все правильна для слова qwerty именно такие сочетания! Вроде бы все работает правильно... Добавлено через 2 мин. Пардон! не "псевдосимволы", а символы псевдографики |
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 7:57 |