목록 ((1 4 5) 5 (6 2 5))과 다른 목록 (5 1 3 7 5 (9 2 4))이있는 경우 첫 번째 항목 목록에있는 경우 두 번째에 있는지 확인합니다. 예를 들어, (1 4 5)는 (5 1 3 7 5 (9 2 3))에 0 번 나타납니다. 5가이 목록에 2 번 나타나고 (9 2 4)가 0 번 나타납니다. 그래서리스트는 (0 2 0)을 반환 할 것입니다.목록의 항목 비교? scheme
두 개의리스트를 취하는 도식 절차 빈도를 작성하는 데 도움이 필요합니다. 첫 번째는 각 구성 요소를 비교하는 것이고 두 번째는 수를 계산하는 것입니다. 첫 번째 목록의 항목. 프로 시저에서는 어커런스 목록을 반환해야합니다.
지금까지 나는 각 항목의 발생 횟수 (카운터)를 계산하고 나머지는 목록 (빈도)에서 추적하는 두 가지 절차를 수행하라고했습니다. 지금까지 이런 짓을했습니다
(define (counter ele lst)
`(cond ((null? lst) `
'())
`((equal? ele lst)`
`(+ 1 (counter ele (cdr lst))))`
`(else`
`(counter ele (cdr lst)))))`
(define (frequency els lst)
`(if (null? els)`
`'()`
`(cons <???>`
`(frequency <???> lst))))`
내가 주파수 절차를 어떻게하고, 어떻게에서 카운터 프로 시저를 호출 확실하지 않다
감사합니다.
[목록의 항목 비교?] (http://stackoverflow.com/questions/13233232/comparing-items-in-a-list) –
나는 이것을 믿을 수 없다. 마지막으로이 질문을 올렸을 때 나는 그것을 해결하는 데 필요한 모든 힌트를 주었고 가장 작은 노력을하지 않았습니다! 당신은 방금 _my 자신의 answer_ 공백을 채우기 위해 누군가 다른 사람에게 희망을 게시했습니다! –
당신은 이미 공란에 무엇을 기입해야하는지 영어로 설명했습니다. 당신의 다음 일은 당신의 속임수에 의해이 일을 더 쉽게 할 수 없습니다. – molbdnilo