Question: I am programming in Scheme, I am trying to make a function where you take a list of numbers, reverse the list, throw out the
I am programming in Scheme, I am trying to make a function where you take a list of numbers, reverse the list, throw out the negative numbers and summantion the nonnegatives. Here is my code:
define sum n
if eq n
n sum n
define ReverseEm elems
if null elems
append ReverseEm cdr elems
list car elems
define nonNegative num
if num
num
define JustDoIt lst
if nonNegative ReverseEm sum lst
If I run JustDoIt it says illformed special form: if
The correct output should be
Because summation of is gets thrown out, gets thrown out, the list gets: reversed: I feel I am close, but I can't get the form right in scheme because I am unfimiliar with it Please understand that I don't want to sum all the nonnegatives together, I want their SUMMATION, big difference, I explain it in great detail. I would also like to add that I only want to talk about scheme, not c or python, or Algol or Plankalkul, or intercal, or any other programming langauge, except for scheme, a dialect of Lisp. We are only to talk in terms of scheme. Another thing I would like to add is that I tested the three functions I made, they work as intended. ReverseEm reverses a list. nonNegative spits back the number at you, unless it's negative, it spits back a zero. And the sum functions works as intended. I am having trouble with the last part of the code. How do I fix define JustDoIt lst
if nonNegative ReverseEm sum lst so it returns
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
