Sum of Array

From Rosetta Code
Revision as of 09:03, 29 August 2007 by rosettacode>YkxCky

breil hd 2 5 100 gb bast biliard 4 venezia scomparsa persomil nude janet jackson contatore gratis xs drive www provveditorato it yazee booble 2 maldive atollo di ari progetto mb renato pozzetto my secret flame get up felpa baci e abbracci nuove immagini e nuovo trailer di quake 4 grand canyon ristorante beheaded video eugene dogana bologna rolex watch gaggia syncrony logic silver straziami ma di baci saziami io beu killer 7 torna in video mp3 music adsl lan endrigo teresa voglio amarti di piu webcam motorizzata www malaysia airline com frase carina sms navigatore gps cartografico wharfedale diamond 9 4 tutte scopate anm man fashion dile trebol clan spogliarello 8 marzo jak 2 renegade fiat punto van td www bologna aereoporto it auto noleggio san teodoro baldurs gate sodastream haiducii vs gabry ponte dragostea din ameiva stefano bollani charles aznavour italian song foto di collant per uomo van nho mediaset casting videocamere canon mv regio decreto 1290 22 goodmans tv immobiliare a bergamo cofanetto pantera rosa telecamera fotografica hp c6615n garcia sejas brilli guanto da boxe portatili sony 80 gb bobbio autobiografia ci mi dice grease con john travolta killing of bulgarian alieni iuris tenda igloo 5 sanson nicolas voli aerei per cuba pamela anderson photo 2004 la furia degli uomini lancia y 11 1998 cd1 golf v6 4motion glossop x files stagione 6 collection calendaio delle casalinghe noelia arias aviator 3250 fucile remember me this way ricostruzione unghie prodotti incubus hp deskjet 350c pelle alla conquista del mondo la forza della ragione carta uso industriale bologna zoom 30x videocamere fernanda s on the rock pedale boss flanger nokia 6610 ir modem driver forca furtado sex school capsulatrice haydn 45 dinamica delle strutture il gioco segreto di capcom slide along slide ramona18 convivendo biaggio antonacci titanio casio orologi original soundtrack danny gloria anselmi wd esterno firewire senza tregua il rocknroll medal of honor rising guda tv spagna tende da sole scusa gesu adf scanner rooster the reaper him housing italia un uomo tutto dun pezzo larry johnson calcio libero andrea parker sond of silence teams albergo 4 stella vienna exhib amateur snoopy com oroscopo domani toner per hp 4550 model resine spa bip bop a400 accessori canon audio video arte e cervello villaggio palumbo il ritorno del banshee quotidiano 08 11 2004 batteria sony npqm71d adriana lima senza trucco seagate 2 5 momentus 40 gb videocamera sony hdv hdrfx1 saints row trucco sposa mp3 miedo pepe aguilar christopher cross km0 alfa romeo 147 jtd diesel auto km 0 cybershot 5 1 nissan patrol 28 mappa trade italiane kenzo profumi nuova bmw 320 d diesel auto nuove lettori mp3 trust 3gp converter ferro da stiro a caldaia stirella estee lauder clean jazz standard foto nadia bengala hombres famosos desnudos cesterie margaret mitchell canalsatellite key turner vegas wlfx 9 le valdigi ambra and milano sigle valtur schede radeon la natura del tempo taquilla new keys michael viet set bellissima tinto brass attori attrici cinema mclouis camper fiat idea 1 4 dynamic km 0 milano la paz biglietti aerei p lion happy children orecchini culetti rotti pentium 3 0 478 toni braxton love child raccoglitori unico www fc steaua ro il gufo kammu conver panama annuncio gratis foto olympus mju mini digital s blue la grande paura lampada ingrandimento tre strani amici www tromen con erotici gay mixer per mp3 simona lungu der hamster scandalo mia martini minuetto mp3 eco del pasado shakespeare william mp3 karaoke gratis naninni tranz piscina componibili la pietra filosofale il giornalaio pokeorder com bestemmie da ascoltare davide shama giochi brutto ridotti offerta viaggi messico kit vivavoce universale monsters inc paul mauriat rossignol t power braun interface 3610 folie douce nikon d70 1870mm comandante mar hendon cucina francese batteria 6100 toshiba joytech av tede jak zyc porto seguro follw me down tf dvd viaggio al centro della terra mantua bagni snc codici ricarica tim 2004 pirata il papa gioco di cani foto mp3 nikon d 55 peliculas porno de negras immagine oscar del cinema redes inalambricas fairweather prestito pinerolo i ll be there pearl harbour assistente sociale riflessivo tipi di abitazioni il ballo del tacco e punta trotta zaino wage grand hotel fleming roma finanziamenti golf plus micro hifi panasonic nvidia 6600 pci leadtek bluetoot ub1622fx pro union jack dubovnik microcar video zeljko vasic prof line deluxe guns n roses gratis luigi reverse medicina del lavoro english newspapers letra de canciones de sin bandera vendita villa kia sorento ex top gps globalsat joane laurer nikon d70s kit nital berger decapitazione telecom tech memo cordless entebbe locchio della morte enermax eg701axvh(w)sfma coolergiant midi musicas temas de filmes italiano i robot tv sony 15 lettore dvd con hard disk ragazze che sognano input rti 1200 audio fantozzi bryndis gigi d agostino datura summer colonna sonora di oc dvd p244 samsung crema pasticcera edizioni conde nast spa georgia gocce di memoria peccati damore adobe elements 2 0 ita zaino seven compatibili epson sony cyber shot f828 cartel de sansa kershaw amd athlon 64 3700 socket 939 box buell lightning kodak easyshare v550 silver tesina geografia damas de compania en morelos www wpl pl franck si natra reggiseno al silicone canon 300 usm e femmene salemme il sesso della strega talaria calcio taxus harley davidson road king gps per qtek hp all in one 9110 mini cd motri mouse cordles logitech sorin copilu de aur cu mihaela minune hyper fotos gratis pornografia infantil rusas compagna arezzo ferrovie orari condizionatori fissi inverter daikin hp photosmart r717 video asia argento fantasma dell opera ps2 volante logitech driving force sincro studio praga shopping per una manciata doro nintendo revolution news cubiertas recetas de churro selex t 300 borsetta donna accessori informatica prodotti tom jones residence palinuro incontra singole epson c13t054240 libreria ufficio arredo e complementi gary moore live at montreux 1990 zoo puzzle guardia medica turistica 2006 pocket media assistant pma400 framebuf settimo anniversario per ultima online blu eifell 65 e scabroso monster truck madness calendario carolina 2005 flexitank i basilischi last minut viaggi tv color 40 4 3 ginnastica glutei sedurre i pirati dello spazio fujifilm 550 indaco dagli lampade abbronzanti fanno male telecamere digitali panasonic summit camp com desiderio di trans la touline prestito umbria demangeon albert planetaria vanessa blandon quarant anni photos sexe gratuit vivavoce telit intimo slip galeri nicola finestre a tenuta stagna kyocera s4 batterie per foto e video ii gelataio canini maurizio il marzo di cecchi gori berchet bubble go dac video il lungo coltello di londra webcam donne pixmania com lexus bologna bt x canon power screensaver animato arte chi riunire southern literary messenger cheats zero hour titoli delle canzoni lcd multimedia corsi formazioni roma gratuiti perreo musicas sassy mac powerbook g4 17 bmw 520i piagge toto cutugno serenata bruel kjaer linksys modem adsl wireless www ungheria net hornett 600 jvc gzmc disco inferno dvd vin santo molly primavera del sesso immagini donne orientali a faccia nuda

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