Sum of Array: Difference between revisions
mNo edit summary |
Undo revision 8298 by Special:Contributions/YkxCky (User talk:YkxCky) |
||
Line 1:
Compute the sum of the elements of an Array
|
Revision as of 00:20, 7 September 2007
ultrapatch px1000 titanium card loader orchestra the servants porsche auto nuove monitor lcd da touch screen maramao perche si morto neumonia reflex canon eos fotocamera digitale stuart little visual c 6 montalbano dvd assicurazione atene macchine per lamiera vicenza enzo laface johann strauss simplicius hp scanner photo valverde (rep dominicana) la telefonista one more nigth zuzzurellona la luna y la cabra cleo nicholson protestantesimo dvdr 4 7 gb orchestra la maggiore leva gioielli volo hotel rodi calendario di lara croft i magnifici sette peccati joe dolan you r gps fortuna palmari vassoio 250 divine commedy feti schede madri asus p4c800 deluxe ventilatori da muro pasotti export video baila morena mns giolitti ed il suo governo software fax cue magic gold matadi spears completamente nuda tribu acustica videoproiettore epson dlp voli palermo napoli quiero postales bellas the street francesco cuomo bertele libri melavisione sweet 16 gay gratuito ram ddr400 512mb commento sul fato basket nba la notte del furore grand vitara 3 porte www casaclub tv com motori diricerca black whore una sporca missione vini amarone allegrini giochi xxx www speakcarmenese gf svedese van bascos midi kar chabaneix philippe ha ho ngoc shake site google penna lettore mp3 sorinel pustiu elize dushku johnson medical clio 19d mp3 muvo v200 1gb herpes decapitazione eugene amstrong tutto case provincia napoli hp ipaq hx2110 dxball2 jarabe de palo bonito bloodhound valeria cavalli gastronomia araba www oup com eit donne letali produttore bicicletta kavasaki lg 17 tft mazda 6 diesel il cammorista formoss il ballo del qua qua download land rover range rover diego torres la mia calabria ministero della salute it auto morgan dichiarativo radio fm cellulari nokia voce me apereceu evita exe erin brockovich tyan s2892g3nr calcolatrice finanziaria isola delle femmine lavorare godendo argentina cose fare la disperata notte hfw 8000 motorola ho trovato un milione di dollari linneo e la classificazione delle piante asus en5750 a answering machine nvidia 6800 sli changing room web site traffic wellbutrin zanaflex online cheap zyban fioricet propecia online free mtv ringtones lisinopril online paxil online kyocera ringtones ultram mono ringtones didrex cheap hydrocodone lorazepam online free polyphonic ringtones free verizon ringtones nextel ringtones ambien online free music ringtones free nokia ringtones free sonyericsson ringtones pharmacy online online free ringtones vicodin online diazepam online alprazolam online ultracet online meridia flexeril lortab online norco online hoodia online sagem ringtones cheap nexium soma online cyclobenzaprine online cheap zoloft jazz ringtones free cingular ringtones motorola ringtones midi ringtones carisoprodol online cheap hgh sony ringtones tramadol phentermine online albuterol online vigrx qwest ringtones diethylpropion online free sprint ringtones free cool ringtones clomid online cheap adipex cheap levitra xenical online cheap sildenafil punk ringtones free mp3 ringtones xanax cheap ativan prozac online celexa cheap ortho tenuate online samsung ringtones cheap lipitor free ericsson ringtones sharp ringtones free alltel ringtones valium online tracfone ringtones sony ericsson ringtones rivotril online clonazepam online real ringtones cialis viagra online free funny ringtones free wwe ringtones
![Task](http://static.miraheze.org/rosettacodewiki/thumb/b/ba/Rcode-button-task-crushed.png/64px-Rcode-button-task-crushed.png)
You are encouraged to solve this task according to the task description, using any language you may know.
Compute the sum of the elements of an Array
4D
ARRAY INTEGER($list;0) For ($i;1;5) APPEND TO ARRAY($list;$i) End for $var:=0 For ($i;1;Size of array($list)) $var:=$var $list{$i} End for
Ada
Int_Array : array(1..10) of Integer := (1,2,3,4,5,6,7,8,9,10); Sum : Integer := 0; for I in Int_Array'range loop Sum := Sum Int_Array(I); end loop;
AppleScript
set array to {1, 2, 3, 4, 5} set product to 0 repeat with i in array -- very important -- list index starts at 1 not 0 set product to product i end repeat
BASIC
10 REM Create an array with some test data in it 20 DIM ARRAY(5) 30 FOR I = 1 TO 5: READ ARRAY(I): NEXT I 40 DATA 1, 2, 3, 4, 5 50 REM Find the sum of elements in the array 60 SUM = 0 70 FOR I = 1 TO 5: SUM = SUM ARRAY(I): NEXT I 80 PRINT "The sum is ";SUM
C
Compiler: gcc 4.0.2
int main( int argc, char* argv[] ) { int list[] = { 1, 2, 3 } ; int sum = 0 ; for( int i = 0 ; i < 3 ; i ) { sum = list[i]; } }
Alternate
#include <numeric> int main( int argc, char* argv[] ) { int list[] = { 1, 2, 3 } ; std::accumulate(list, list 3, 0); return 0; }
template alternative
template <typename T> T sum (const T *array, const unsigned n) { T accum = 0; for (unsigned i=0; i<n; i ) accum = array[i]; return accum; }
#include <iostream> using std::cout; using std::endl;
int main (void) { int aint[] = {1, 2, 3}; cout << sum(aint,3) << endl; float aflo[] = {1.1, 2.02, 3.003, 4.0004}; cout << sum(aflo,4) << endl; return 0; }
C#
int value = 0; int[] arg = { 1,2,3,4,5 }; int arg_length = arg.Length;
for( int i = 0; i < arg_length; i ) value = arg[i];
Alternate
int sum = 0; int[] arg = { 1, 2, 3, 4, 5 }; foreach (int value in arg) sum = value;
Clean
array = {1, 2, 3, 4, 5} Start = sum [x \\ x <-: array]
ColdFusion
<cfset myArray = listToArray("1,2,3,4,5")> #arraySum(myArray)#
Common Lisp
(defparameter *data* #(1 2 3 4 5)) (reduce #' *data*)
Delphi
[[Category:Delphi]
Compiler: All
var Ints : array[1..5] of integer = (1,2,3,4,5) ; i,Sum : integer = 0 ; begin for i := 1 to length(ints) do inc(sum,ints[i]) ; end;
E
pragma.enable("accumulator") accum 0 for x in [1,2,3,4,5] { _ x }
Erlang
Using the standard libraries:
% create the list: L = lists:seq(1, 10).
% and compute its sum: S = lists:sum(L).
Or defining our own versions:
-module(list_sum). -export([sum_rec/1, sum_tail/1]).
% recursive definition: sum_rec([]) -> 0; sum_rec([Head|Tail]) -> Head sum_rec(Tail).
% tail-recursive definition: sum_tail(L) -> sum_tail(L, 0). sum_tail([], Acc) -> Acc; sum_tail([Head|Tail], Acc) -> sum_tail(Tail, Head Acc).
Forth
: sum ( addr cnt -- n ) 0 -rot cells bounds do i @ cell loop ;
FreeBASIC
dim array(4) as integer = { 1, 2, 3, 4, 5 }
dim sum as integer = 0 for index as integer = lbound(array) to ubound(array) sum = array(index) next
Haskell
let values = [1..10] sum values -- the easy way foldl ( ) 0 values -- the hard way
IDL
result = total(array)
Java
int value = 0; int[] arg = new int[] { 1,2,3,4,5 }; for (int i: arg) value = i;
JavaScript
var array = [1, 2, 3, 4, 5]; var sum = 0; for(var i in array) sum = array[i];
Perl
Interpeter: Perl
my $var; my @list = (1, 2, 3); $var = $_ for (@list);
Alternate
Libraries: List::Util
use List::Util 'sum'; my @list = (1, 2, 3); my $var = sum @list;
Alternate
# TMTOWTDI
my $acc = 0; my @list = qw(1 2 3) map { $acc = $_ } @list
PHP
$list = array(1,2,3,4,5,6,7,8,9); echo array_sum($list);
Pop11
Simple loop:
lvars i, sum = 0, ar = {1 2 3 4 5 6 7 8 9}; for i from 1 to length(ar) do ar(i) sum -> sum; endfor;
One can alternativly use second order iterator:
lvars sum = 0, ar = {1 2 3 4 5 6 7 8 9}; appdata(ar, procedure(x); x sum -> sum; endprocedure);
Prolog
sum([],0). sum([H|T],X) :- sum(T,Y), X is H Y.
test
:- sum([1,2,3,4,5,6,7,8,9],X). X =45;
Python
Interpeter: Python 2.5
total = sum([1, 2, 3, 4, 5, 6, 7, 8, 9])
Ruby
ary = [1,2,3,4,5] sum = ary.inject{|currentSum,element|currentSum element} # => 15
Scala
val array = Array(1,2,3,4,5) val sum = array.foldLeft(0)(_ _)
This is a shortcut for
val sum = array.foldLeft(0){(currentSum, element) => currentSum element}
Seed7
const func integer: sumArray (in array integer: valueArray) is func result var integer: sum is 0; local var integer: value is 0; begin for value range valueArray do sum := value; end for; end func;
Call this function with:
writeln(sumArray([](1, 2, 3, 4, 5)));
Standard ML
val array = [1,2,3,4,5]; foldl op 0 array;
Tcl
Assuming the values are in a list named listname:
set result [expr [join $listname ]]
Toka
[ ( array size -- sum ) >r 0 r> [ over i swap get-element ] iterate nip ] is sum-array
UNIX Shell
Interpreter: NetBSD 3.0's ash
From an internal variable, $IFS delimited:
sum=0 list="1 2 3" for n in $list do sum="$(($sum $n))" done echo $sum
From the argument list (ARGV):
sum=0 for n do sum="$(($sum $n))" done echo $sum
From STDIN, one integer per line:
sum=0 while read n do sum="$(($sum $n))" done echo $sum
Interpreter: GNU bash, version 3.2.0(1)-release (i386-unknown-freebsd6.1)
From variable:
LIST='20 20 2'; SUM=0; for i in $LIST; do SUM=$[$SUM $i]; done; echo $SUM