Эй, ребята, у меня вопрос о домашнем задании, который меня разочаровал! Я должен создать индекс-наименьший, который возьмет непустой список и вернет индекс наименьшего числа в списке. Индекс (car ls) = 0, индекс (car (cdr ls)) = 1 и т. Д.Поиск позиции номера в списке
Необходимо создать помощник, который будет отслеживать текущее положение, наименьшую позицию, наименьшее значение и список. Пока у меня есть эта программа (которая не загружается), которая показывает базовый алгоритм. Но мне сложно отслеживать все и помещать его в код схемы chez.
(define index-helper
(lambda (ls current-position least-position least-value)
(if (> (car ls) least-value)
(add1 (car ls (cdr ls (add1 current-position))))
(car ls (cdr ls (add1 current-position))))))
;trace
;ls: (4231) c-pos: 0 least-value: 5 least-pos: 0
;ls: (231) c-pos: 1 least-value: 4 least-pos: 1
;ls: (31) c-pos 2 least-value: 2 least-pos: 2
;ls: 1 c-pos: 3 l-v: 2 l-pos: 2
;ls '() c-pos: 4 l-v: 1 l-pos: 4
;*least-position = current-position
Я уже гугле это и нашел подобные вопросы питона, но я не понимаю код, потому что я новичок в программировании. : P Если кто-нибудь может дать мне подсказку, я бы очень признателен!
Как расспрашивать в #scheme вместо этого? Я не думаю, что инструкторы хотят, чтобы их домашние проблемы появлялись в Google, как это. – erjiang
@erjiang: Не зарегистрированы ли записи IRC? ;-) –
@ Yasir: Ха-ха, да, но SO был SEO'd так много. – erjiang