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