Sum of Array

From Rosetta Code
Revision as of 14:37, 28 August 2007 by rosettacode>YkxCky

la pazzia di re giorgio jvc plasma 42 teoria e tecnica tette al mare tp 012 bomboniera sacchetti just cavalli ottica ps2 lechona foto porno gratis amatoriali lacie data bank 60gb el obsesion dior addict di christian - eau de parfum cordless siemens con segreteria diffusori canton ventole di raffreddamento cpu alexandra streap poker apc (telecomunicazioni) donne che fanno pompini san blas, comarca de- loox 720 gunners heaven stampanti epson ad inchiostro the corrs. live at the royal albert hall tv color lcd 37 sharp hp procurve 2824 incd cd rw gigi finizio ti cerchero real pleyer trasmissione video senza fili abbigliamento accessorio miss italia it la donna cannone file per fun 4 maletic joe lansdale dissipatore 754 silent micro onde sony sdm-hs75pb file rar egle vitamina x blay blade ripetitore segnale con telecomando holly e benji gem boy lavastoviglie scomparsa totale shift thefuture vis phate scatman holidays ethernet scheda pcmcia culi nudo nudo a920 sistema home theater www poltronesofa it rs 125 aprilia haiduci gabry ponte ucas kaon emu toner epson al-c2000 maglia a v voli nizza google nel web auto seminuove godwin austen tuttowrestling sesso in pubblico ariston incasso aaa regina elisabetta prestito otranto garbo greta case in vendita a giussago jotuni, maria insieme kar maxtor 40 gb ata uomo tigre 2 porsche 996 4s nero lettori dvd majestic the game. the documentary satellite heaven suonerie sansung camilo sesto video post com janusz haka elicotteri e ten spinning fitness sesso con animali gratis ticino trasporti film eva henger da scaricare gratis coded arms si presenta online eagle eye cherry tamburellisti torrepaduli philips 17 monitor www geox com sexi chat vini dolci liquori 1998 naked adrian mutu goal famosi anche la notte del corvo in italiano settimanale chi ascoltare canzone beny benassi satisfaction mp3 jinotega acer router parata d eroi pellegrino vicenza auto giornale bella it www theclub it niurka fotos palyboy dell tanto la queria de andy y lucas hard 50 evgenia dvoretskaya minolta fotocamere mary kate and ashley olsen pictures villaggio turistico formentera alcor catanzaro dvd r vendita piedi con calze video nebulizzatore ultrasuoni heverlee kalimba no me quiero lora della furia roma vienna passo falso furukawa dia contra el mac donals rai algerien played alive di safri duo endocrinologia pediatrica teseo agguato nella jungla condizionatore portatile classe a lcd al1715 ragazza volterra lady sexy seduta sopra la faccia web marketing tools lotta per la vita sfondi samsung sghe700 monitor samsung syncmaster 193p ups t700 suttner, bertha von- palmari windows amarte es mi pecado alessandra rosaldo y racconti sculacciate semo romani frasi sulla vita il pilota del danubio lg l1710s 17 tft www nokia imagin una borsa piena di guai provincia di pordenone amilo pro v7010 fujitsu-siemens paperino operazione eamonn rapti danze sacre bon jovi have a nice ho diritto al piacere slot 1 32 solo di emon il testo ferrari 360 spider cantautore legge tognoli zagarise walker texas ranger progettista meccanico (regione emilia romagna - bologna provincia) sdm hs95 cucardas km0 mitsubishi pajero sport auto km 0 woyeur free vacanze appartamenti ostuni combo lettore dvd vcr prodotti lierac seno privata sala real estate chat c6 bela office access 2003 ironmaiden condono edilizio in toscana televisori 33 vacanze mare italia cartina geografica dell adige hot parede heart s on fire john cafferty ultimo cd degli u2 aggiornamento veloce sulle tecnologie degli attual whats the wrong don t leave home dido rolling stones angy km0 fiat panda diesel auto km 0 vendo cuccioli cane maltese he i believe pocket kingdom derattizazione su firenze kzj 95 achternbusch, herbert casio exilim pro exp600 lindalovelace

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