Bu prosedür, verilen 3 listeden alternatif değerler içeren bir liste döndürmelidir. Yani örneğin (alt ('a b c)' (1 2 3) '(i j k))' (a 1 i b 2 j c 3 k) 'i döndürmelidir.Verilen 3 listenin alternatif elemanlarını döndür. Şema
Bu benim şu ana kadar benim mantığım. Her listenin ilk elemanını alıp yeni argümanlar olarak cdr ile tekrar tekrar prosedürü çağırırdım.
(define (alternate lst1 lst2 lst3)
(cons (car lst1)
(cons (car lst2)
(cons (car lst3)
(alternate (cdr lst1)(cdr lst2)(cdr lst3))))))
hata
oluşur(cons (car lst1)
(eksileri reklamı) yeni döndürür "mcar:? Mpair
() vermiş olduğu : ihlal
beklenen sözleşme" ilk elemanı bir ve ikinci eleman olan ayrılmış çift d. Ancak, verilen 2 liste bulunmadığından, liste oluşturmaya yaklaşmanın başka bir yolu var mı?
Bu başka bir yaklaşım mıdır?
(define (alternate lst1 lst2 lst3)
(list (car lst1)(car lst2)(car lst3))
(alternate (cdr lst1)(cdr lst2)(cdr lst3)))
Görüyorum ki, bu mantıklı. Cevabınız için teşekkürler. – wooot