Sum of Array: Difference between revisions

From Rosetta Code
Content added Content deleted
mNo edit summary
m (fixed redirect since multiple redirects aren't followed)
 
(62 intermediate revisions by 19 users not shown)
Line 1: Line 1:
#REDIRECT [[Sum and product of an array]]
[http://dialed.110mb.com/small/seca-gratis/ seca gratis] [http://mouse-zae.110mb.com/centro-assistenza.htm centro assistenza acer liguria] [http://yeeden.110mb.com/data/blow-job/ blow job] [http://trene-von-anty.110mb.com/description/digital.htm digital 800] [http://gekijuls.110mb.com/le-de/ le de mae] [http://trouble166.110mb.com/cristina-da.htm cristina da maria de filippi] [http://nationavce.110mb.com/view/canzone-vecchie.htm canzone vecchie napoletane] [http://sister-sunshine.110mb.com/html/vas-terapia/ vas terapia] [http://lazythoughts.110mb.com/lib/velvet/ velvet] [http://yeeden.110mb.com/data/volkswagen-golf/ volkswagen golf ii] [http://blue-olusha.110mb.com/library/e-usb/ e720 usb] [http://stitchesnglue.110mb.com/c-e.htm c e che ti piace essere bella] [http://dialed.110mb.com/small/trucchi-san/ trucchi san andreas] [http://funk-mastah-ion.110mb.com/data/jvc-sd.htm jvc sd] [http://slavkamolot.110mb.com/library/viaggi-incentive/ viaggi incentive] [http://gekijuls.110mb.com/motosega-per/ motosega per potatura] [http://mouse-zae.110mb.com/leiria-distretto.htm leiria (distretto)] [http://trouble166.110mb.com/g-midland.htm g7 midland] [http://lazythoughts.110mb.com/lib/rap-west/ rap west coast] [http://slavkamolot.110mb.com/library/american-conquest/ american conquest fight back] [http://dialed.110mb.com/small/sym-gateway/ sym gateway] [http://trene-von-anty.110mb.com/description/divertimento-a.htm divertimento a rodi] [http://yeeden.110mb.com/data/battipaglia/ battipaglia] [http://slavkamolot.110mb.com/library/laica-bilancia/ laica bilancia pesapersone] [http://olikka.110mb.com/library/pabx-dect.htm pabx dect] [http://mouse-zae.110mb.com/ginsen.htm ginsen] [http://olikka.110mb.com/library/cronologia-del.htm cronologia del medioevo] [http://mouse-zae.110mb.com/telegiros-es.htm telegiros es] [http://book-wench.110mb.com/text/tapis-roulant/ tapis roulant vegas] [http://lazythoughts.110mb.com/lib/registratori-vocali/ registratori vocali olimpus] [http://ultra-creator.110mb.com/articles/salzano.htm salzano] [http://dialed.110mb.com/small/hai-sa/ hai sa bem] [http://mouse-zae.110mb.com/tongo-cucine.htm tongo cucine] [http://ultra-creator.110mb.com/articles/soffitti.htm soffitti] [http://stitchesnglue.110mb.com/il-colore.htm il colore dellamore] [http://blue-olusha.110mb.com/library/masturbarsi-il/ masturbarsi il culo da soli] [http://mouse-zae.110mb.com/bonde.htm bonde] [http://sister-sunshine.110mb.com/html/hother/ hother] [http://unremig.110mb.com/wali/ wali] [http://blue-olusha.110mb.com/library/midi-claudio/ midi claudio baglioni] [http://sister-sunshine.110mb.com/html/gratis-v/ gratis v viaccess key page html] [http://mouse-zae.110mb.com/mercedes-e.htm mercedes e 200 cabrio] [http://book-wench.110mb.com/text/fiat-/ fiat 500 s] [http://nationavce.110mb.com/view/sarad.htm sarad] [http://olikka.110mb.com/library/nvidia-.htm nvidia 6800 le 128] [http://mouse-zae.110mb.com/strippa.htm strippa] [http://sneezingpops.110mb.com/www-cartoon/ www cartoon networc it] [http://unremig.110mb.com/pretoria-cose/ pretoria cose fare] [http://blue-olusha.110mb.com/library/latinchat-com/ latinchat com] [http://slavkamolot.110mb.com/library/sambar-server/ sambar server] [http://trene-von-anty.110mb.com/description/mayo.htm mayo] [http://yeeden.110mb.com/data/transessuali-in/ transessuali in sardegna] [http://unremig.110mb.com/roma-chiese/ roma chiese foto] [http://forever-your.110mb.com/data/samsung-funclub.htm samsung funclub] [http://olikka.110mb.com/library/billy-bud.htm billy bud] [http://lazythoughts.110mb.com/lib/pick-up/ pick up 2005] [http://slavkamolot.110mb.com/library/pda-palmone/ pda palmone treo 600] [http://sneezingpops.110mb.com/billy-mayers/ billy mayers kiss the rain] [http://book-wench.110mb.com/text/www-locoarts/ www locoarts com ar] [http://ultra-creator.110mb.com/articles/tutti-le.htm tutti le canzoni d drupi] [http://ultra-creator.110mb.com/articles/tenuta-di.htm tenuta di collosorbo] [http://forever-your.110mb.com/data/epson-lq.htm epson lq 2080] [http://olikka.110mb.com/library/me-pones.htm me pones en tension] [http://ultra-creator.110mb.com/articles/jeans-spidi.htm jeans spidi] [http://dialed.110mb.com/small/avent-bag/ avent bag] [http://ultra-creator.110mb.com/articles/relax-vacanza.htm relax vacanza] [http://book-wench.110mb.com/text/passi-sulla/ passi sulla luna] [http://forever-your.110mb.com/data/despues-de.htm despues de ti que] [http://slavkamolot.110mb.com/library/wireless-amplificazione/ wireless amplificazione] [http://slavkamolot.110mb.com/library/un-buco/ un buco nella sabbia] [http://trene-von-anty.110mb.com/description/intel-prescott.htm intel prescott processori] [http://sneezingpops.110mb.com/si-somos/ si somos americanos] [http://funk-mastah-ion.110mb.com/data/riparare-lettore.htm riparare lettore cd in alessandria] [http://nationavce.110mb.com/view/acer-.htm acer 2700 memoria ram] [http://slavkamolot.110mb.com/library/frase-latino/ frase latino] [http://mouse-zae.110mb.com/noirdesir.htm noirdesir] [http://forever-your.110mb.com/data/linguaviva.htm linguaviva] [http://trene-von-anty.110mb.com/description/acer-al.htm acer al1912 silver] [http://ultra-creator.110mb.com/articles/hmboys.htm hmboys] [http://stitchesnglue.110mb.com/v-modem.htm v525 modem drivers] [http://blue-olusha.110mb.com/library/marcia-trionfale/ marcia trionfale aida] [http://funk-mastah-ion.110mb.com/data/hotel-des.htm hotel des alpes misurina] [http://book-wench.110mb.com/text/palo-meneguzzi/ palo meneguzzi] [http://trene-von-anty.110mb.com/description/www-villagiulia.htm www villagiulia it] [http://blue-olusha.110mb.com/library/cavo-dvi/ cavo dvi hdmi] [http://unremig.110mb.com/gazzetta-mezzogiorno/ gazzetta mezzogiorno it] [http://unremig.110mb.com/uefa-europei/ uefa europei] [http://gekijuls.110mb.com/vestito-lungo/ vestito lungo donna] [http://gekijuls.110mb.com/inviti-di/ inviti di compleanno] [http://trouble166.110mb.com/terre-desolate.htm terre desolate] [http://lazythoughts.110mb.com/lib/dvd-rw/ dvd rw px716a] [http://unremig.110mb.com/let-me/ let me down easy] [http://funk-mastah-ion.110mb.com/data/chris-isaac.htm chris isaac] [http://stitchesnglue.110mb.com/kit-cinema.htm kit cinema] [http://stitchesnglue.110mb.com/diamond.htm diamond 7 1] [http://yeeden.110mb.com/data/seat-ibiza/ seat ibiza 3 serie] [http://sneezingpops.110mb.com/televisione-mp/ televisione mp3] [http://funk-mastah-ion.110mb.com/data/dj-bobo.htm dj bobo] [http://olikka.110mb.com/library/barios.htm barios] [http://gekijuls.110mb.com/testo-canzone/ testo canzone blue eiffel65] [http://forever-your.110mb.com/data/figette.htm figette] [http://forever-your.110mb.com/data/simply-red.htm simply red greatest video hits] [http://sneezingpops.110mb.com/shogo/ shogo] [http://blue-olusha.110mb.com/library/la-moglie/ la moglie di figo] [http://ultra-creator.110mb.com/articles/atlantic-frigo.htm atlantic frigo] [http://trene-von-anty.110mb.com/description/tory-wells.htm tory wells] [http://forever-your.110mb.com/data/nikon-.htm nikon flash sb800] [http://slavkamolot.110mb.com/library/classifica-campionato/ classifica campionato serie a] [http://sister-sunshine.110mb.com/html/wayfinder-serial/ wayfinder serial] [http://mouse-zae.110mb.com/nero-.htm nero 6 reloaded] [http://trouble166.110mb.com/cross-racing.htm cross racing] [http://dialed.110mb.com/small/la-droga/ la droga e i suoi effetti] [http://funk-mastah-ion.110mb.com/data/man-of.htm man of the moon] [http://book-wench.110mb.com/text/volante-wingman/ volante wingman] [http://sneezingpops.110mb.com/lady-punk/ lady punk stacja warszawa] [http://dialed.110mb.com/small/top-trade/ top trade informatica] [http://olikka.110mb.com/library/ricette-di.htm ricette di cucina ebraica] [http://book-wench.110mb.com/text/norah-jones/ norah jones sun rise] [http://funk-mastah-ion.110mb.com/data/www-gima.htm www gima it] [http://funk-mastah-ion.110mb.com/data/poemas-de.htm poemas de amores] [http://yeeden.110mb.com/data/vernice-auto/ vernice auto] [http://olikka.110mb.com/library/ex.htm ex] [http://trene-von-anty.110mb.com/description/voli-per.htm voli per hurghada] [http://dialed.110mb.com/small/sp-xp/ sp1 xp] [http://ultra-creator.110mb.com/articles/tremarella.htm tremarella] [http://trene-von-anty.110mb.com/description/fasciatoi-onda.htm fasciatoi onda] [http://blue-olusha.110mb.com/library/ja-imam/ ja imam nekog] [http://trene-von-anty.110mb.com/description/occhiali-da.htm occhiali da sole roberto cavalli] [http://trouble166.110mb.com/blood-omen.htm blood omen 2] [http://lazythoughts.110mb.com/lib/muonline-trade/ muonline trade hack] [http://some-omeelse.110mb.com/data/cinque-marines.htm cinque marines per cento ragazze] [http://stitchesnglue.110mb.com/giurgiu.htm giurgiu] [http://funk-mastah-ion.110mb.com/data/albergo-economico.htm albergo economico cannes] [http://blue-olusha.110mb.com/library/fay-savan/ fay savan] [http://sister-sunshine.110mb.com/html/condizionatori-fissi/ condizionatori fissi mitsubishi] [http://stitchesnglue.110mb.com/impianto-elettrici.htm impianto elettrici civili] [http://sneezingpops.110mb.com/ricorso-provveditorato/ ricorso provveditorato] [http://dialed.110mb.com/small/sesso-teulada/ sesso teulada] [http://mouse-zae.110mb.com/quadri-falsi.htm quadri falsi di de chirico] [http://dialed.110mb.com/small/gel-capelli/ gel capelli] [http://olikka.110mb.com/library/padrona-elena.htm padrona elena email it] [http://book-wench.110mb.com/text/i-profeti/ i profeti] [http://unremig.110mb.com/il-maggiolino/ il maggiolino] [http://yeeden.110mb.com/data/verniciature-industriali/ verniciature industriali] [http://slavkamolot.110mb.com/library/incontri-a/ incontri a voghera] [http://lazythoughts.110mb.com/lib/porno-la/ porno la vicina di casa] [http://trene-von-anty.110mb.com/description/pornodivi.htm pornodivi] [http://blue-olusha.110mb.com/library/ciucciare/ ciucciare] [http://trene-von-anty.110mb.com/description/lettori-con.htm lettori con hard disk] [http://dialed.110mb.com/small/dilatata/ dilatata] [http://slavkamolot.110mb.com/library/grow-cube/ grow cube2] [http://sneezingpops.110mb.com/agapornis-personata/ agapornis personata] [http://some-omeelse.110mb.com/data/behringer-.htm behringer 4 canali] [http://forever-your.110mb.com/data/zombie-grinder.htm zombie grinder] [http://funk-mastah-ion.110mb.com/data/sobri-mp.htm sobri mp3] [http://mouse-zae.110mb.com/acer-mp.htm acer mp330] [http://stitchesnglue.110mb.com/oroscopo-di.htm oroscopo di coppia] [http://forever-your.110mb.com/data/kancelaria.htm kancelaria] [http://yeeden.110mb.com/data/greece/ greece] [http://book-wench.110mb.com/text/fuck-movie/ fuck movie] [http://stitchesnglue.110mb.com/jeu.htm jeu] [http://nationavce.110mb.com/view/maxtor-one.htm maxtor one touch ii 300] [http://some-omeelse.110mb.com/data/dvdrk.htm dvdr1628k 00] [http://mouse-zae.110mb.com/coppe-silicone.htm coppe silicone] [http://sister-sunshine.110mb.com/html/roberto-cavalli/ roberto cavalli abbigliamento] [http://slavkamolot.110mb.com/library/eoy-paci/ eoy paci] [http://gekijuls.110mb.com/futbol-mexicano/ futbol mexicano fifa] [http://unremig.110mb.com/primo-viaggio/ primo viaggio peg perego] [http://ultra-creator.110mb.com/articles/brondi-fx.htm brondi fx 25] [http://forever-your.110mb.com/data/motorola-rokr.htm motorola rokr cellulari] [http://slavkamolot.110mb.com/library/ciapet/ ciapet] [http://sneezingpops.110mb.com/christina-lindley/ christina lindley] [http://nationavce.110mb.com/view/www-ultrapassword.htm www ultrapassword com] [http://ultra-creator.110mb.com/articles/terminetor.htm terminetor] [http://some-omeelse.110mb.com/data/registrazione-dominio.htm registrazione dominio italiano] [http://sneezingpops.110mb.com/toshiba-sd/ toshiba sd350] [http://book-wench.110mb.com/text/rack-esterni/ rack esterni] [http://trouble166.110mb.com/rouvas.htm rouvas] [http://trouble166.110mb.com/fotos-de.htm fotos de tito y omar] [http://blue-olusha.110mb.com/library/pacto-de/ pacto de caballeros] [http://sister-sunshine.110mb.com/html/magix-foto/ magix foto 4 0] [http://lazythoughts.110mb.com/lib/jesus-angel/ jesus angel campos rojas] [http://some-omeelse.110mb.com/data/dragostea-di.htm dragostea di te] [http://mouse-zae.110mb.com/dsc-f.htm dsc f828 sony] [http://some-omeelse.110mb.com/data/buda-bar.htm buda bar] [http://trouble166.110mb.com/liberoit.htm liberoit] [http://some-omeelse.110mb.com/data/half-life.htm half life pc] [http://stitchesnglue.110mb.com/para-elis.htm para elis] [http://olikka.110mb.com/library/ping-pong.htm ping pong] [http://dialed.110mb.com/small/la-basilica/ la basilica di superga] [http://ultra-creator.110mb.com/articles/romans.htm romans] [http://sister-sunshine.110mb.com/html/scrivimi-fermo/ scrivimi fermo posta] [http://trouble166.110mb.com/autunno-inverno.htm autunno inverno calzature donna] [http://mouse-zae.110mb.com/latino-americano.htm latino americano htm] [http://funk-mastah-ion.110mb.com/data/rovesciato-frigoriferi.htm rovesciato frigoriferi] [http://lazythoughts.110mb.com/lib/wait/ wait] [http://lazythoughts.110mb.com/lib/key-code/ key code nds] [http://olikka.110mb.com/library/hotel-kyriad.htm hotel kyriad cannes centre] [http://nationavce.110mb.com/view/xtc-is.htm xtc is up] [http://ultra-creator.110mb.com/articles/x-pro.htm x800 pro vivo] {{task}}
Compute the sum of the elements of an Array

==[[4D]]==
[[Category: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]]==
[[Category: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]]==
[[Category: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]]==
[[Category: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 plus plus|C ]]==
[[Category:C plus plus]]

'''Compiler:''' [[GNU Compiler Collection|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 sharp|C#]]==
[[Category:C sharp|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]]==
[[Category:Clean]]
array = {1, 2, 3, 4, 5}
Start = sum [x \\ x <-: array]

==[[ColdFusion]]==
[[Category:ColdFusion]]

<cfset myArray = listToArray("1,2,3,4,5")>
#arraySum(myArray)#

==[[Common Lisp]]==
[[Category: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]]==
[[Category:E]]

pragma.enable("accumulator")
accum 0 for x in [1,2,3,4,5] { _ x }

==[[Erlang]]==
[[Category: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]]==
[[Category:Forth]]

: sum ( addr cnt -- n )
0 -rot
cells bounds do i @ cell loop ;


==[[FreeBASIC]]==
[[Category: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]]==
[[Category:Haskell]]

let values = [1..10]
sum values -- the easy way
foldl ( ) 0 values -- the hard way

==[[IDL]]==
[[Category:IDL]]

result = total(array)

==[[Java]]==
[[Category:Java]]

int value = 0;
int[] arg = new int[] { 1,2,3,4,5 };
for (int i: arg)
value = i;

==[[JavaScript]]==
[[Category:JavaScript]]

var array = [1, 2, 3, 4, 5];
var sum = 0;
for(var i in array)
sum = array[i];

==[[Perl]]==
[[Category: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]]==
[[Category:PHP]]

$list = array(1,2,3,4,5,6,7,8,9);
echo array_sum($list);

==[[Pop11]]==
[[Category: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]]==
[[Category: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]]==
[[Category:Python]]

'''Interpeter:''' [[Python]] 2.5
total = sum([1, 2, 3, 4, 5, 6, 7, 8, 9])

==[[Ruby]]==
[[Category:Ruby]]

ary = [1,2,3,4,5]
sum = ary.inject{|currentSum,element|currentSum element}
# => 15

== [[Scala]]==
[[Category: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]]==
[[Category: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]]==
[[Category:Standard ML]]

val array = [1,2,3,4,5];
foldl op 0 array;

==[[Tcl]]==
[[Category:Tcl]]

Assuming the values are in a list named <tt>listname</tt>:

set result [expr [join $listname ]]

==[[Toka]]==
[[Category:Toka]]

[ ( array size -- sum )
>r 0 r> [ over i swap get-element ] iterate nip ] is sum-array

==[[UNIX Shell]]==
[[Category: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

Latest revision as of 08:39, 2 July 2010