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;
}
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. {
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;
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. }
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.

Elementos de un arreglo

  • 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 dela 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. Necesitosumar 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.