Sum of Array

From Rosetta Code
Revision as of 23:59, 17 August 2007 by rosettacode>YkxCky

www life electronics com tiziano crudeli un sorriso, uno schiaffo, un bacio in bocca cabina armadio foppapedretti ford fiesta newport 1.3 meteo biella mainz duncan james naked zhoukoudian e2 gps dizionario religioni rasaerba elettrico fodero lg heaven is a halfpipe asus a8v e deluxe via k8t890 inni e canti fascisti bambola club pornostar enima vite rubate modem router adsl d-link gjellerup, karl adolf leggero cellulari house-boat fascia cardio basciano teramo adattatore s-video a scart lacie hard drive 250 gb picture woman fotocamera ed mp3 canon 50mm 1 8 sexual eurodance 13 cuba libre - velocipedi ai tropici kinetographie pleasure from the bass dj tiga toyota pd graduatorie ata messina 3 fascia 2002 odontites i vitelloni sito di al qaeda junco la madunina esame per la patente vgn s4hp b angel guard fimp it amd sempron 3300 fighe nude americane uomo primitivi tesina appunto di simone la magnifica preda mouse trust wireless fogo na saia left outside alone su anastacia voli riga oregon scientific quicklink monitor lcd dvi 17 hotel principe di savoia alano iv www ambasciata greca it ragazzo della notte concessionari kawasaki jeans nero vita bassa immagini dell isola di albarella forma parole palmare ipaq zen portable driver free motorola c550 download www dolphin club it www rdi com dv multimedia card mannoia concerti i rolling stones secondo godard vendita moto usate una nuova playstation 2 per il giappone computer windows xp media center simboli dwg vaio vgn-fs215b configurazione mms philips 350 mp2 stampante epson stilus c64 stilus attrice italiana varia correggere un annuncio sessso gratis r-type dx sony mavica mvc fd200 politecnico milano hony ball toshiba 740 dieci cento mille dei brothers trolley tucano i belong to yuo istruzione ricarica inchiostro cartuccia stampante laser e fax severina video vacanze nel mondo bayliner 2855 www mininter gob pe p diddy ill be missing you biglietto aereo lamezia-roma walzel, oskar wrestiling femminile punto zero luca napoli valva la legione invincibile libri mp3 samsung 128 foto di loredana lecciso torakiki lupen lll gazzettino padova tema desktop windows xp detroit new york luigi boccherini viridiana brother inkjet multifunzione con fax internet e reti di calcolatori john sena hotel aosta trapani karin schubert and paola senatore hd ultra ata guta so daniela fifi and romeo riassunti i promessi sposi chaplin charlie carmine gallone corso computer vancouver hyphessobrycon sodomia linsey dawn mckenzie ritch bitch tenda casetta campeggio thierry mugler cologne graduatorie insegnanti di religione km0 suzuki gpl auto km 0 decodificatore dvd gratis incontro novi ligure carpi moto modem interno analogico valletta roma grand cherokee 4.0 gagliano del capo come stai di vasco rossi hong nhunh veronese flli srl lindy dvi 2 mt stampante hp 8750 www byblos it dsc-p12 sesso foto disabili umts cellulari samsung dr alte holz background colours conaju wem j yu gi ho gioco da scaricare riobamba la maledizione della prima luna il disco elettrostimolatore babyliss antifumo trio chicco autofix then servant vino giordano thesis diesel sito telefonia thoitrang macromedia flash www amiloidosi it marcello fondato il killer - tactical assassin kawasaki zx 6r bmw compact ferrar paola perego foto remington hc363 sottoveste che passione la ginestra terorema lavatrici 33 cm adsl2 firewall router online personal ads la grande fuga dutilleux venezia parigi midi gigi finizio nuova mercedes 320 s diesel auto nuove gestion privee clearvue worksheet focus c max 1.8 u s beheading hub 100base fx agri 3 hd seagate 160gb parnassia www ibox shemale hentai che fico anna dei mille giorni

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