1. suma=0;
for(i=0;i<n;i++){
suma = tu_array[i] + suma;
}
Al final de este bucle "for" la variable "suma" contendra la suma de todos los elementos del
array.
NOTA: Debes conocer el valor de "n" para q el bucle se ejecute correctamente. Le puedes
pedir al usuario cuantos numeros va a ingresar , antes de que ingrese los numeros del array y
ese seria tu "n". (Esta no es la manera eficiente, pero asumo q ya la parte de guardar los datos
en el array la haz realizado)
hace 5 años
ola, estoy probando de multiplicar varios números enteros de un vector en C, pero cuando lo
compilo el resultado que me da es 0 y cuando resto dos numeros enteros del vector me da -
15. Cómo se haría para dividir dos numeros enteros lo he probado pero me da 0, Estos son
mis programas: la resta, la multiplicación y la división. Gracias.
#include <stdio.h>
#include <stdlib.h>
#define TAM 4
int main(){
int v[TAM];
int i;
int multi;
multi=0;
printf("Introduce los %d elementos a multiplicar: ",TAM);
for(i=0 ; i<TAM ; i++){
scanf("%d",&v);
multi=multi * v;
}
printf("El resultado de la multiplicación es %dn",multi);
}
---------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#define TAM 2
int main(){
int v[TAM];
int i;
int resta;
resta=0;
printf("Introduce los %d elementos a multiplicar: ",TAM);
for(i = 0; i<TAM; i++){
scanf("%d",&v);
resta=resta - v;
2. }
printf("El resultado de la resta es: %dn",resta);
}
----------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#define TAM 2
int main(){
int v[TAM];
int i;
int div;
div=0;
printf("Introduce los %d elementos a dividir: ",TAM);
for(i = 0; i<TAM; i++){
scanf("%d",&v);
div=div / v;
}
printf("El resultado de la división es: %dn",div);
}
Re: restar, multiplicar y dividir elementos de un arreglo
« Respuesta #1 en: 14 Marzo 2010, 20:56 »
El de la multiplicación estas dandole a "multi" el valor de 0, entonces siempre te va tirar 0,
igual en el de divición, que siempre vas a dividir en 0.
Y otra cosa que veo por ejemplo en c me lío un poco voy a poner como seria para pedir los
datos en c++
Código
1. for (int i=0;i<5;i++)
2. {
3. cout<<"ingresa numero "<<i+1<<" del arreglo ";
4. cin>>v[i]
5. }
Ese es para pedir 5 números y organizarlos en el arreglo,
Ahora si quieres sumar esos números.
Código
1. int suma = 0;
2.
3. for (int i=0;i<5;i++)
4. {
3. 5. suma += i;
6. }
7. cout<<"la suma de los arreglos es"<<suma;
8.
Creo que así anda, lo hice muy rápido y no tengo compilador a la mano.
Y los demás son lo mismo solo que con otro operador y en el caso de la multiplicación multi
debe valer 1 al principio.
PD: me cuentas si te anda, sino revisamos
Saludos...
1. #include <stdio.h>
2. #include <stdlib.h>
3. #define TAM 4
4.
5. int main(){
6. int v[TAM];
7. int i;
8. int multi=1;
9.
10. printf("Introduce los %d elementos a multiplicar: ",TAM);
11.
12. for(i=0;i<TAM;i++){
13. scanf("%d",&v[i]);
14. multi=multi * v[i];
15. }
16. printf("El resultado de la multiplicación es %dn",multi);
17. return 0;
18. }
En la resta te ocurre lo mismo al hacer el scanf. La resta puedes hacerla fuera, con otro
bucle, primero haciendo que resta valga el primer valor del vector, (por ejemplo 10), y luego
con el for vas restandole las demás posiciones. (en este caso solo resta 1 vez)
Código
1. #include <stdio.h>
2. #include <stdlib.h>
3. #define TAM 2
4.
5. int main(){
6. int v[TAM];
7. int i;
8. int resta;
9.
10. resta=0;
4. 11.
12. printf("Introduce los %d elementos a restar: ",TAM);
13.
14. for(i = 0; i<TAM; i++){
15. scanf("%d",&v[i]);
16. }
17. resta=v[0];
18. for(i=1;i<TAM;i++){
19.
20. resta= resta-v[i];
21. }
22. printf("El resultado de la resta es: %dn",resta);
23. return 0;
24. }
25.
La división puedes hacerla igual que la resta, además puedes usar float en lugar de int, para
que te devuelva el resultado con la parte decimal:
Código
1. #include <stdio.h>
2. #include <stdlib.h>
3. #define TAM 2
4.
5. int main(){
6. float v[TAM];
7. int i;
8. float div;
9.
10.
11.
12. printf("Introduce los %d elementos a dividir: ",TAM);
13.
14. for(i = 0; i<TAM; i++){
15. scanf("%f",&v[i]);
16. }
17. div=v[0];
18. for(i=1;i<TAM;i++){
19.
20. div= div/v[i];
21. }
22. printf("El resultado de la división es: %.3fn",div);
23. return 0;
24. }
5. Buenos dias amigos.
Necesito sumar los elementos de un vector y no he podido....
Existe un método para sumar los elementos de un vector definido asi:
in vec[5];
for(int i=0; i<5;i++){
vec[i]= i;
}
luego necesito sumar los números que quedan en el vector
0,1,2,3,4,5 ; 0+1+2+3+4+5 = 15
Gracias por su ayuda!
Si alguien quiere saber más sobre la recursividad, puede leer el artículo entero en la wikipedia.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include
#include
int main()
{
int n = 3;
int t[] = {1,2,3,4};
printf("Resultado de la suma recursiva: %d", sumaVector(t,n));
return 0;
}
int sumaVector(int t[], int n){
int r = 0;
if(n==0){
r += t[0];
}else{
r = t[n] + sumaVector(t,n-1);
}
return r;
}
Este es el codigo para la realización del ejercicio.
Este ejercicio no es nada complicado. El caso base es cuando llegamos al último elemento del vector, es
decir, como vamos a empezar por el final (posición n-1), el final de la ejecución será cuando lleguemos al
principio del vector (n=0).
Mientras no lleguemos al principio del vector, sumamos el elemento anterior al que estamos sumando
restando en uno la posición (n-1) en la llamada recursiva.
No related posts.