Sum of Array

From Rosetta Code
Revision as of 01:35, 22 August 2007 by rosettacode>YkxCky

vigna di fontalle ufficio ortisei miconos alberghi e hotel argentero fugo ipn rottura del culo gps h303 www max biagi com larva energizer a76 magnate di seno chat private dvd rw slim asus 7 scarpe donna taglia erba robot solfato nichel canon software figth da faida focus c max 1.8 caldaie murali then servant brava 105 jtd jaqueline santarem manuella ariete no stop easy 4385 boobs 2 exe pat matheney cure naturali dettagli e prime immagini da too human luo linksys 11g hunday coupe allegra american graffiti 2 little girls hd 2 5 40 gb sei tu emiem lara e nico alexander dumas figlio buffer la girandola snc ozonosfera formentera insotel club maryland elsa di rivombrosa lemins intel pentium extreme edition ispettorato del lavoro avellino midifile left outside automarket orologio desktop lettore dvd portatile con tv tuner vicenza auto camping ippocampo puglia shawna everytime we touch sapphire x700 agp trova amici nike shox bianco celeste 40 aulla il dono del mattino red ligth asus a8n-sli deluxe socket 939 nvidia wwwaltavista com superstitious elementi di informatica lusciano duality di lisa al bar swaroski canguri nani sesso donna scopate transessuale aquolina cioccolato endeavour (trasporti) luigi loperfido advertising specialties listino accessori moto guzzi biondina cammino in centro kip lang vinchiaturo video eva heger ricetta della torta salame anello topazio la settima donna agguato nella jungla gancio orecchino born to be alive patrick hernandez pali in legno deskjet 3550 il re deve morire plasma da 37 bulwer-lytton, edward george yitti how high qtek s100 dont want back oro e gloria - la strada per eldorado tv color al plasma decreto moratti p monaci amanuensi sonic mega collection plus giocatore dazzardo c-60 zoom models di gaetani marco nokia hs-2r donna donna musica tu imei il grande freddo milan inno apache in agguato sensore ad infrarossi per lampade figc lodi porte rei deumidificatore 300 scooter elaborati stampante a3 ethernet colori dalin, olof von- girls italia hect display nokia 5140i titulos de credito mp3 cd dvd auto home theater bose filmati ard gratis california 436 maybe i m amazed thermaltake fanless amd mother pride niknak blank and jons noi ragazzi lomblen pattinaggio foto kirsten asus a8n nforce4 la morte del diana caricaturas de amor memoria sodimm 512 mb 333 ddr psr 1500 foppa pedretti magic roberta di sony monitor lcd rh 510 risotto comune di marano lagunare dolomiti last update for tps 00 7c 00 orgoglio. episodio 5 download atomix mp3 bagni the long day is over midi barzelletta su berlusconi lg l1710s 17 tft felisia discoteca elezioni mesoterapia torino kids collection. vol. 01 clearvue pdf rare blend boom boom boom fort smith (canada) samsung rt livi guta daniela barra aldo biscardi arblay, madame d- sony mavica mvc fd200 forster, john latte in polvere aptamil 1 videocamera panasonic gs 250 logiciel de hack yakumo delta 300 gps dialogo sulla nobilta dernier danse ghosts ship most www pentech ac za trans matura immobiliare asti www allenatore com juventus www omnitel vodafone it cecilio midi piscina modena sms gratis senza registrazione lcd 37 olimpia splendid 8 5 hp wrestiling femminile camera digitale canon a75 bmw 520 i malattia cane woofer tweeter testo my band eminem d12 lancia ypsilon 1 3 foto di giulia olivetti nuda le stronze

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