2012-01-18 1 views
-1

Je dois écrire un programme qui prend une liste et supprime le premier élément, et utilise la récursivité dans SCHEME. Je suis juste coincé sur la façon de le répéter.Remove-1st function dans SCHEME

il ont donc

> (remove-1st '(x y z x)) 
(y z x) 
+0

La question est absurde comme indiqué, donc il doit y avoir une autre exigence manquante dans sa description. Il n'y a aucune explication de pourquoi la récursivité serait nécessaire pour la tâche donnée. – dyoo

+0

Il est vraiment difficile de comprendre ce que vous demandez ici. –

Répondre

3

Je pense que je dois être mal compris votre question, mais cela fonctionnera:

(define (remove-1st list) 
    (cdr list)) 

Pas de récursion nécessaire. En effet, aucune fonction de votre part, car cdr fera ce que vous semblez vouloir.

Peut-être avez-vous besoin de reformuler votre problème? Voulez-vous dire que vous voulez obtenir les éléments restants un par un en quelque sorte?

+0

Je dois utiliser la récursivité, cela fait partie de la mission. C'est là que je me bats. –

+0

Ensuite, vous avez besoin d'un problème différent. La récursion est une sorte de boucle, et une boucle n'a aucun sens pour cela. Vous vous battez parce que vous ne pouvez pas utiliser une boucle pour le problème que vous décrivez ci-dessus. – Janne

+0

Je l'ai eu! Merci quand même! J'ai fini par inverser, et par contre à partir de là –