Sum of Array

From Rosetta Code
Revision as of 18:42, 30 August 2007 by rosettacode>LpvHw9

second me alone darkness patch non beta per journeys end tomtom navigator 3 wired gps coolpix 5700 nikon sussanna travelmate c300xmi accessori asus a716 lagnese va a morire avviamento elettrico motore a scoppio chicco trio ct 1 www simonini com summerson stampante epson stylus prestazioni occasionali sesso gran thef auto santas andreas www google it smack down bibite daniele rosa michael jackson history on film vol 01 negozi poco cari a roma skystar 2 pci ciobin tefal kaleo 2 mp3 cu manele testo f u r b la rosa gialla del texas calzini verande napoli px 100 cuffie hd 120gb scarpa skate v3 black edition camera imperia kagemusha lombra del guerriero camping villaggio turistico puglia west higlander terrier moravia mylene farmer nue nikon ls4000 cuffie con microfono per pc pulitore a vapore gaggia parazzi dino campana itelgua nokia 3230 cavo dati canon b 160 devoto giacomo yitzhak rabin moglie violentata tv receiver bobbi sue luther justrite get up kids fa cge non sia mai immagini e artwork da phantom kingdom final fantasy 12 michele manfredini gli occhiali doro erika e omar video duel masters vol 2 tribal house dragoste din cnet adsl router il rovescio fremantle sexy teens touch my ta la la ye jah accessorio fotocamera www bilboa it richieste di socio sanitari libri per bimbi pornografia gay il gigante di metropolis www ministero istruzione padova timecop indagine dal futuro sblocco nec e 606 schedatura piombi seac rasaerba valex universita salesiana borsa lacoste isps code micheal bolton frullatore e mixer gay perugia amstrad dvd karaoke wireless stereo paparizou giochi nuovi di avventura las vegas foto samantha fantauzzi his eye is the sparrow rapevideo gucci camicie uomo abbigliamento subson jann arden hd hitachi sata seconda prva contratti commercio www juegos juegos com entrevista de periodico web design logo logotype flash cani foto dalmata fascia cardio toracica b monkey agenzia immobiliare studio san martino motorola vivavoce rover serie 800 ospedali palermo setimo cielo nuove puntate amd cpu athlon 3000 mercedes g serie parboiled move your body nina sky giacobbe sandro michael jackson thriller www vittoriaassicurazioni it hp 1280 cartucce www diamante nero it albo avvocato domina coral bay oasis merida le avventure di oliver twist vol 02 volo sesto fiorentino italiana musica canzone di hitler sigma 18 200 motorola v547 cellulari keys kiosque sat rometta marea dancer texas no entiendo dragostea tin mei noleggio gonfiabili a roma il video di paris hilton revo 3051 hotel mosca filmini sul sesso anale filmati scabrosi alta tensione digitale garmin satellitare hollywood detective tema esame stato 1993 kobzanova pc hp compaq dc5100 rofo s theme viejas putas rc 7000 oakley accessori processi riina giovani coppia mutuo han loghi sex wifi palm cd notre dame de paris fuck it florida inc pendrive mp3 radio lito y polaco magma mix mision 4 irene grandi spartiti clip art buchanan robert williams run e cocaina banca piemonte dvp3010 dvd dvx philips borse diesel toyota milano midland alan 443 toner samsung ml 2550 ventole intel 478 l intervallo pellerossa vacanze last minute sardegna kia sorento 25 crdi active e abbonati telefonici parigi lavatherm aeg emilio gadda asta automobile francia avviso di pagamento sapphire radeon 9600 atlantis agenzia immobiliare lerici ducati 900 monster www diddl puma donna concessionario volkswagen tokina 1224 guardie del corpo seat ibiza socialismo lq630 epson sen italia danimarca commedianti kenwood vrsn8100 casa circondariale di lecce nikon sb600 hdr hc1e incarto ely wallace hp 1020 q5911a genio dei pierrots emittenti radiofoniche roma latin jazz www business com videocamera corpo rotante il mio ex finepix f420 assistenza thomson mantova www adictos com unknown servizi alle aziende hp dc7100 cmt p4 digital ixus 40 canon registratore vocale digitale usb www voliamo it gestione calcio gratis ventola per pc rally maremma conference call benny benessi alfred abel la lunga notte di lucignolo sigla rai www parchis com songs in a minor silat cori rossoneri giochi vari mandaryna here i again prezzo motorola micro hi fi panasonic impianti hifi recopa sudamericana 2004 la signora vuole il visone ernia umbrellos gogle feltrinelli international prima ti perdono poi ti ammazzo vido erotici jung archetipo pecorara the final contdown bobbi sue luther www guadagnando com foto calendario alessia fabiani notebook pavilion hp motorola pebl km0 bmw 525 auto km 0 lg double layer blue siti nhl 99 blades of steel la roba di verga rilasso churrasco download driver stampante hp camper donna ram asus pretty donne pisa sito di wimbledon tennis love is the daily saaya milan kundera asus extreme n6600gt td agp la dodicesima carta capitan fuoco peugeot 206 usate livin on a prayer jon bon jovi ken i barbie logitech cordless desktop mx 3100 gz mc500 calza foto bmw 330i win dvd freeware cavo coassiale audio genifer lopez sex coltivare funghi magici kit home lampada solario agriturismo cernusco sul naviglio finanziamento grugliasco porno di serena grande venga boys kiss lg rz20la90 volkswagen touareg 3 2 l utima neve di primavera obiettivi nikon 70300 jook gal splinter cell pandora tomorrow army men lock n load calendario vasco rossi indesit wi 40 bsx umbria re leone dvd somewhere over the rainbow rock girl maxtor ata 133 www aie s r l com diana car cah il cane con la cravatta epson stylus photo r300 a4 usb doot gemelli intriganti hp t3010 legno casa pro form 485 upa ance tough enough orgoglio (episodio 1) sapphire radeon 9600 atlantis assicurazione auto comparazione prezzo vivo per doppia porta golf 19 tdi 1998 princess vanessa qtek pda2k imate solo per te giochi esotici opere per la fame nel mondo design gioiello sapphire radeon 9600pro sangiorgio syncmaster 913n all star converse scarpa unisex accessori videocamere canon mercato heidelberg a firenze robert www alessio wheels com smell that smell la voce nellombra test line srl www f i g c crl lombardia www rossella brescia it van (provincia) il futuro di eagle sexi hostess cartuccia iomega 35gb nemo pets com discografia vasco rossi dream theater live in tokio five years in a live time barche motore nonni hotel regalos virtuales www patentino barbecue tefal that s all video de hector y tito felina detras de mi ventana kosovo polje scheda ati radeon 256mb frigorifero rex ad incasso corfu itinerari nike total 90 oro hasta siempre tablatura il mondo di herri potter chicas peru scopa lava chat internazionale kvr400x72c3a 1g voodoo child l amico ritrovato velenosi san isidro manele romanesti aladino cordles batterie siemens litio serenada www alessia trani it cumvia moonlight serenade rafet el roman son mektup visure abbigliamento premaman catamarano luifer stacie s mom jenna haze video rivoluzione francese versione per scuola vintage passeggino tv lcd 26 philips klimo amplificatori cum bath pink trouble converti formato lista teatri generatore elettrogeno programma fitness engin miracolo di berna film mogli vogliose interfaccia i pod kig kog fotos de cabros como mujer maracaibo lu colombo lupo alberto disco 01 il piccolo lord google finanziaria repubblica di san mar illuminati malice mizer materasso molla ultimi motori di ricerca ballo qua qua flipp obiettivo minolta zoom 300 ostello la vespa fornitura prodotti ufficio quadrifoglio magix platinum mp3 light ottavo padiglione www wrestlemania it immagini simpsons ruota fa cge non sia mai lavatrice 1200g www grande frattello com debito estero pamela porno preventivi online discovery 2003 km0 volkswagen auto km 0 sitecom portable media sono seduto sul ramo e mi sento bene gay black lancia beta spider il gatto e la volpe audi allroad 25 unita sanitaria locale roma 8 bersaglio di notte hendai poesia da amore foto di elfi folletti promesse e compromessi grido di battaglia interrati asus sli 939 deluxe ian dury stephane pompougnac foto toner 3715 amoreux solitaire profondo bmw 320 touring pizica mulheres fodendo numeri telefono provider frasi per la pensione anderson electronic asus p4p800x 478 annuncio incontri veneto jb software 84 plasma hdtv panasonic cqc1301n wintv nova s interrabang banca popolare del materano piastra madre toshiba espansione ram 512 mb the cranberries just my immagination io2 services tshirt xxl www ragazzi it appunto diritto lavoro memoria ddr2400 lavoro paderno dugnano carte da mercante in fiera petrarca daniela fini lutherstadt wittenberg concorsi x tutti i t c s la donnagatto in dvd notre dame de paris live arena di verona televisore 21 dvd beach tennis turquoise hd western video proiettore schermo panasonic pt ae700 miracle lancome profumo oni in distribuzione divx dvd lettori e didegni da colorare frommel libri rey pirin feat dj blass piccoli indiani mario piovano una chat un filmato per bet on soldier modelli con grossi cazzi toner type 305 sign promotional product passi che facciamo download meteo diesel ds 0025 anabas concessionario mercedes printr nori valentina zambrotta nomi latini sambame upadance iss pro evolution 2204 stampante canon cp 330 de natura di lucrezio traina sportiva toner infotec is 2018 provincia trento www cox net ham cavi ottici a metro ultima big cock shemale buonanotte a te allinwonder radeon computerdiscount it tatoo maori alto aeg kiss dp 508 denti gif olimpia costruzioni vicenza dormire rimini lancia y ca hollywood mosters prove d esame 2002 flash sb25 zelda il diabolico avventuriero bmw serie 3 2003 divx dvd panasonic tom dick e harry venezuela video gocce di memoria storia del violino al bar si muore superstar jamelia lyrics registratore hard disk breathe blu cantrell storoni mazzolani lidia harry potter magic box olivetti 8400 dedicadas para los que estan finalfantasy 11 vcd cover amd athlonxp www whirlpool com www lapin it sauna produzione tour italiano di laura pausini assistenza forli cesena nome dominio wireless keyboard pda registratore video digitale pamela e tommy mindy vega olimpus ultrazoom it is cos i m cool this loce sony palm registratore 24 videos y fotos beyonce telefonie nokia 6230 graphite ed16dvdsk 00 pescatori di perle dream theater master of puppets phedra lancia raffaella berge canzone di nando xbox trucchi sony dcrpc 106e naked hong nhung pollo camper deore xt nu sinh ngo quen tappetino per il mouse sei la mia donna pentium 4 531 monitor da studio near field scheda video agp 4x moto ducati monster anny ondra spot unieuro tonino guerra scopa elettrica 1400 playstation multitap www provincia brescia it ercole al centro della terra vidimazione libri sociali intervallo rai heifetz ute o zone dragostea din tei mid nokia 6260 nero jo donatello traghetto ischia www s francesco di paola it rosse tinto brass video musicali articolo31 la legge della violenza nel bronx casper e il natale di paura 2 i ve got your number

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