Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.21.158.148] |
|
Сообщ.
#1
,
|
|
|
Помогите пожалуйста доделать задачу!
Условие: вводим N чисел. Определить какое среди введенных чисел повторяеться наибольшое число раз. Сколько раз оно встречаеться. И если таких чисел несколько, то выбираем из них наименьший. Осталось выбрать наименьший, если таких чисел несколько...помогите плиз( DOMAINS i=integer il=i* PREDICATES go(string) count(string,il) insert(i,il,il) getmax(il,il,i) pull(i,i,il,i,il,i) w CLAUSES go(""):- exit. go(S):- count(S,L), getMax(L,X,Y), write("Max=",X,";\n\n"). count(S,List):- fronttoken(S,Tok,Rest),!, count(Rest,L), str_int(Tok,In), insert(In,L,List). count(_,[]). insert(I,[I,A|H],[I,Ac|H]):- !, Ac=A+1. insert(I,[X,Y|H],[X,Y|Z]):- !, insert(I,H,Z). insert(I,[],[I,1]). getMax([X,Y|H],M,N):- getMax(H,K,L),!, pull(X,Y,K,L,M,N). getMax([],[],0). pull(X,Y,_,L,[X],Y):- Y>L,!. pull(X,Y,H,Y,[X|H],Y):-!. pull(_,_,X,Y,X,Y). w. w:-w. GOAL w, readln(S), go(S), fail. |