[C con Clase] Sumar todos los elementos de un array

David Fire ddfire en gmail.com
Vie Feb 5 19:01:03 CET 2010


o tal vez
for(i=MAX_ELEMENTS;i>=0;i--)
   suma+=num[i];


El 5 de febrero de 2010 14:20, Steven Davidson <srd4121 en njit.edu> escribió:

> Hola Pablo,
>
>
> pablo wrote:
>
>> Hola tengo el problema de que tengo un array de 10 elementos de los
>> cuales quiero sacar la suma de todos los elementos del mismo, tengo
>> dudas con la sintaxis, pensaba que lopodia hacer de la siguiente
>> manera pero veo que se vuelve engorroso asi que imagino que debe
>> haber otra forma mas sencilla.
>> La forma que pensaba es:
>>
>> int num [10];
>> int suma = (num [0] + num [1] + .... + num [9]);
>> cout << "la suma es (num) " << endl;
>>
>> Espero no estar tan equivocado, agradeceria que me saquen de esta
>> duda. Desde ya gracias!
>>
>>
> Como puedes observar, si realizas todas las sumas explícitamente, puedes
> tardar una eternidad especialmente si existen miles o millones de elementos
> en un array. También tendrías problemas si después de escribir todo el
> código del programa, averiguas que la cantidad de elementos del array es
> incorrecta. Esto significa que tendrías que modificar el programa por lo
> menos la parte de la suma, y posiblmente otras partes.
>
> Cuando no puedas realizar una operación compleja en un solo instante,
> entonces divide el problema en varias acciones de operaciones más simples.
> La solución en tu caso es realizar varias sumas parciales, para obtener la
> suma total. La operación más simple que puedes hacer es sumar dos números.
> Al principio, sumamos los dos primeros números. Después podemos ir sumando
> la suma parcial y el siguiente número en el array. Por ejemplo,
>
> suma = num[0] + num[1];
>
> suma += num[2];
> suma += num[3];
> suma += num[4];
> ...
> suma += num[9];
>
> Aquí la variable 'suma' actúa como un "acumulador", ya que va acumulando el
> resultado hasta que terminemos con nuestro algoritmo.
>
> Obviamente, tampoco vamos a escribir todo esto explícitamente. Sin embargo,
> vemos que existe un patrón. También vemos que el patrón repite varias veces.
> Esto implica que usaremos un bucle para llevar a cabo todas estas
> operaciones relacionadas.
>
> La primera suma no parece que pertenezca al patrón, pero podemos
> modificarla para cambiar su forma a la del patrón. En la suma, el número 0
> (cero) es el elemento neutro que no la varía. Aplicamos esta propiedad
> aritmética sumando 0 al principio. Obtenemos lo siguiente:
>
> suma = 0;
>
> suma += num[0];
> suma += num[1];
> suma += num[2];
> ...
> suma += num[9];
>
> Ahora podemos ver un patrón común a todos los elementos.
>
>
> Espero que este análisis aclare las dudas.
>
> Steven
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100205/88b0d6e0/attachment.html>


Más información sobre la lista de distribución Cconclase