Sum and product of an array: Difference between revisions

Content added Content deleted
(Added FALSE)
(Added COBOL solution.)
Line 355: Line 355:
Sum = sum [x \\ x <-: array]
Sum = sum [x \\ x <-: array]
Prod = foldl (*) 1 [x \\ x <-: array]</lang>
Prod = foldl (*) 1 [x \\ x <-: array]</lang>

=={{header|Clojure}}==
=={{header|Clojure}}==


<lang lisp>
<lang lisp>(defn sum [vals] (reduce + vals))
(defn sum [vals] (reduce + vals))


(defn product [vals] (reduce * vals))
(defn product [vals] (reduce * vals))</lang>

</lang>
=={{header|COBOL}}==
<lang cobol> IDENTIFICATION DIVISION.
PROGRAM-ID. array-sum-and-product.

DATA DIVISION.
WORKING-STORAGE SECTION.
78 Array-Size VALUE 10.
01 array-area VALUE "01020304050607080910".
03 array PIC 99 OCCURS Array-Size TIMES.

01 array-sum PIC 9(8).
01 array-product PIC 9(10) VALUE 1.

01 i PIC 99.

PROCEDURE DIVISION.
PERFORM VARYING i FROM 1 BY 1 UNTIL Array-Size < i
ADD array (i) TO array-sum
MULTIPLY array (i) BY array-product
END-PERFORM

DISPLAY "Sum: " array-sum
DISPLAY "Product: " array-product

GOBACK
.</lang>


=={{header|ColdFusion}}==
=={{header|ColdFusion}}==
Line 1,165: Line 1,191:


=={{header|PL/I}}==
=={{header|PL/I}}==
<lang pli>declare A(10) fixed binary static initial
<lang PL/I>
declare A(10) fixed binary static initial
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);


put skip list (sum(A));
put skip list (sum(A));
put skip list (prod(A));
put skip list (prod(A));</lang>
</lang>


=={{header|Pop11}}==
=={{header|Pop11}}==