Sum of Array

From Rosetta Code
Revision as of 04:27, 3 September 2007 by rosettacode>LpvHw9

lettore dvd divx dv380s sony cuffie 5 1 audi noleggio marzia dinasty hombres sexys pico2000 zip gigi and molly www match com avana shopping beethoven sonata per violino e pianoforte lift me up telecamera videosorveglianza scheda video interfaccia pci the mission dancing on mars lavorazioni sul tornio in parallelo viaggi in nave per la sardegna mp3 128 fm gsmart mini sara connor palmare phone edition camera commercio roma decollete 3d denni fantina samsung ps42d5s madamigella oscar c900 kit troia che caga toner mfc7420 dv mustek nec 2180ux outpost 2 lettore dvd divx nero once upon a time in mexico remi pendenti breil immagine mare louisiana ristorante suzuki alto 1998 tribali e tatuaggi kris grove e kris reichert il maresciallo rocca stagione 4 episodio 6 oselin km0 fiat panda gpl auto km 0 mujeres blancas eight wonder tv acer drin drin a rispondi dolce e gabbana uomo maglieria sito fotografia dogg il cacciatore di alieni www sessomania com km0 fiat panda ragazza cassino taglia tubi intel e un processore tutto da giocare giochi carte scopa foto di londra hp 8200 victor ugo lo sbaglio di essere vivo storia guanto dolce e gabbana jeans uomo kingston 1gb www e i it gioco dei conigli marx it mfc 3340cn campo concentramento test medicina nortek 2 1 napoli donne km0 opel meriva auto km 0 x agosto pascoli innamorato ponzi sex0 himno nacional del per la (possibile) data europea di gran turismo 4 di marino francesco sesso sporco cunbias carolina gf 4 vivavoce per v3 motorola sauna e massaggi kazaa ita cdv che figata di serata francks tylko ty kaja paschalska gif animate bandiera the moon italian version midnight invaders upa dance sambame salento in bus ospedale gaslini timothy zahn crack nec e 228 miriam preziosi srl winamp5 full final pegao antenna magnetica causa di divorzio outlook 2000 software in partibus infidelium underdog pesca tropea philips 190b6cs armband ipod musica house kama kama bigazzi giancarlo screensaver paesaggio sera de dios erreway filmati gay samples quando soffia il vento del nord www concorsi cinofili it enriko maray fugo inovix imp10 lumix fz30 college loan starcraft fotos accessori qtek 9090 emule 46c gratuito microsoft volante foto da film foto di palme prima station wagon con vintage dragos team ti porto in africa mango garbahaarey tommy boy chance di chanel tatarsk prodotti lavazza gilet sport ragazze in cam la ragazza del golden saloon testina stanton bic ruga televisore philips 21 marisa monte ao vivo final fighter giochi da scaricare per cellulare 3 midnight sugar il commissario maigret il pazzo di bergerac masterizzatore dvd pc barcellona p g hoogle kyosho subaru proietti cavaliere nero memoria pc100 horse fucking giochi 2 motorola auricolare bluethoot televisori al plasma 42 xga coa rose red di stephen king paolo gentili benzin mehsana kartika nardi pointless adattatore lenti canon seagate barracuda 7200 7 200gb celebration lincoln (gran bretagna) testa decapitata mi sono depilata dmr3 rubinetti per lavabo logos 584 riss scheda usb2 pci hotail com parodie 2004 uiguri masterizzatore dvd mac volkswagen polo 1 9 tdi di tanti palpiti film erotici erogatore pesca life is the devil kiss fotocamera digitale yakumo mega image bartolomeo della gatta ydra molle frigoriferi combi da incasso rex de ce francesca duranti herrera 212 psp sony z4 30 www itunes store black knigh sappur suppur

Task
Sum of Array
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