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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2014, 18:17   #1
Flashik66
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 11
По умолчанию Допишите программу(Prolog)

Добрый день. Прошу помощи так как в прологе полный 0.
Цитата:
Условие задачи: Нахождение в текстовом файле двух самых коротких строк
Поиск помог мне найти рабочий код. Однако это только часть кода. А полностью дописать под него программу у меня не получается. Прошу выручить..

Код:
min(Min1,Min2):-readln(S),min(S,S,Min1,Min2).
 
min(TempA,TempB,A,B):-
    readln(Str),!,update(TempA,TempB,Str,TempA1,TempB1),
    min(TempA1,TempB1,A,B).
min(A,B,A,B).
 
update(A,B,S,S,B):-
    str_len(S,LenS),str_len(A,LenA),LenS<LenA,!.
update(A,B,S,A,S):-
    str_len(S,LenS),str_len(B,LenB),LenS<LenB,!.
update(A,B,_,A,B).
Flashik66 вне форума Ответить с цитированием
Старый 07.05.2014, 18:26   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

самый тупой, но простой в реализации вариант.

Считываешь слова файла в список (для этого в некоторых прологах даже встроенный предикат есть, для остальных такой предикат можно найти).
Сортируешь список (опять же встроенный предикат)
Выбираешь 2 первых элемента так: [S1, S2|_]

Все. Задача решена.
Не проверял, но походу на SWI Prolog даже программу писать не надо - все решается одним тривиальным запросом.
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Допишите код dkii Общие вопросы C/C++ 1 25.12.2013 22:33
Помогите дописать программу - допишите в программу формулу m=sqrt(re^2+lm^2) ( Delphi ) nicroma Помощь студентам 0 24.12.2013 19:59
Нужно написать программу на Prolog Vladtorch Фриланс 2 27.03.2012 06:08
Дополнить программу в Turbo Prolog Paco de lucia Помощь студентам 0 08.03.2010 19:59