Sum of Array

From Rosetta Code
Revision as of 05:37, 3 September 2007 by rosettacode>YkxCky

bluetooth monitor batterie motorola ba700 luxury kit hitel acquario porta batterie marini grafica div multimedia sveglia lcd firenze pubblicazioni matrimoniali weider bench pro 420 maria rosa la fattoria it outkasts vacanza estate 2004 sardegna amd athlon 64 x2 4400 dual core marce per banda da scaricare gratis ambulatorio roma mappa dunant henri carmel ristorante esclusione della donna islamica marmitte produzione il terzo occhio fifa footbal 2005 the ozone hotel sayonara utensili da cucina nokia 6101 i guida edonkey box di yugioh casse acustiche totem zurigo santiago de compostela canon 28 200 abbigliamento al dettaglio previdenza natural power veronesi luigi beheading nick berg superheroes spiderman joule james prescott radio onda d urto campeggi sicilia cartina geografica toscana www toscano immobiliare it charlize netgear wge111 giga sony cybershot dscs40 guardia scelta brigadiere asus w3400n televisore 32 kv32fq86 canon aw cazzi da elefante merulana sony a497xp vigna di fontalle card reader firewire samsung lcd sync master odawara spondilite anchilosante inculate di solo uomini hotel albatross sharm egitto giochi nintendo ds ds sailor moom tawhid wal jihad deny paris latin www alfa romeo con hp photosmart 8250 font animali accessori nikon d70 creek mary s blood phanton placed massimo foschi rh 7900mh il capitano episodio 1 estacio club punto hotel economico padova corsi post diploma sigora fantasia fondriest kylie minogue i believe in you catene da neve fiesta diesel testo umberto tozzi divina commedia sapegno ventre mosella thermaltake silent 939 k8 www pvem com mx latinmail donna sotto le stelle loa ponce videossss nissan micra c c edicola dvd lounge event com mercanti di liquori acer palmare gps palmari zyxel 650h router benjamin mcenzie tatuaggi floreali sellano agriturismo una su un milione giochi nei bar urke network adapter ps2 jeans 34 stampante etichette cddvd dreams dei cramberries trudi peluche cane hifi aiwa videos de decapitacion lettore mp3 fm 20 gb honda civic 14 radio futura business opportunities barotex patch italia rpg maker xp todd mike laura pausini copertina fichi secchi aftherhours ragazza 18 dvdporno shaggy i m sex viet nam dragon ste www zozzone it push up www kladi it pentium 550 mifra par don me workstation grafica indesit wixxl 106 sara perche ti amo ricchi e poveri acquistare diamante michel vith davide silvestri panasonic lumix dmcfz5 baci e abbracci il bandolero stanco acer desktop cp 45 lorenzo palacios quispe alfa 147 benzina friends stagione 1 natalia ola talla modellismo casa decripter dvd total strider panasonic videocamera minidv nvgs75 amd athlon64 3200 939 box amd fx57 parafrasi il tramonto della luna nikon flash ted nugent full bluntal nugity live barbie sfilate aggressive alpine skiings all prestito capri adven canon i6500 ice cream mania amico assoluto in mp3 di renato zero annuncio coppia veneto escort modena archos 420 photos de chien paolo conte nel cuore di amsterdam campeggi d italia gasthof cucce per cani fax e stampante carmela de cesare rsmmc dv per nokia 6630 512 joe petrosino diana spencer accident hippel theodor gottlieb von natalia millan digital print srl cartina francia mia vita tra le dita gianluca acer lcd al1715 lavoro lissone lest outside alone spinaci fotomontaggi celeb northridge jbl panca bilanciere lord of the rings blind guardian bachata novara vacanze di natale 91 webcam 60 fps figurine crema rassodante corpo venditori tecnici (regione piemonte torino provincia) macho callaghan hotel melia technisub titan lx borsa per notebook acer 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