Autor
|
Tema: Suma de vectores recursivo (Leído 8,080 veces)
|
s3tH
Desconectado
Mensajes: 55
|
Que tal, yo de nuevo dandoles molestias, me podria hechar una manita, la verdad no se como retornar la suma de los productos de los elementos de dos vectores, este es mi codigo, pero el problema es que no se como hacer para retornal el resultado: he intentado con return total, pero me regresa una direccion de memoria
#include <stdlib.h> #include <stdio.h>
int multiplicar(int vec_a[],int vec_b[],int tam_a, int tam_b,int total);
int main() { int vec_a[100], vec_b[100],tam_a,tam_b, i,j, resultado, total; printf("Ingrese el tamaño del vector A:"); scanf("%d", &tam_a); for(i=0;i<tam_a;i++) { printf("Ingrese elemento [%d]:",i); scanf("%d",&vec_a); } printf("Ingrese el tamaño del vector B:"); scanf("%d", &tam_b); for(j=0;j<tam_b;j++) { printf("Ingrese elemento [%d]:",j); scanf("%d",&vec_b[j]); } resultado=multiplicar(vec_a,vec_b,tam_a-1,tam_b-1,total); printf("La suma de los producto de los elementos del vector es:%d\n", resultado); system("pause"); }
int multiplicar(int vec_a[],int vec_b[],int tam_a, int tam_b, int total) { if(tam_a==0) { return (vec_a[tam_a]); } else { total = total+ vec_b[tam_b]*vec_a[tam_a]; return multiplicar(vec_a,vec_b,tam_a-1,tam_b-1,total); } }
|
|
|
En línea
|
|
|
|
s3tH
Desconectado
Mensajes: 55
|
Bueno ya hice otro pequeño avance, pero solo me multiplica los ultimos numero, y no entiendo por k:
#include <stdlib.h> #include <stdio.h>
int multiplicar(int vec_a[],int vec_b[],int tam_a, int tam_b,int total);
int main() { int vec_a[100], vec_b[100],tam_a,tam_b, i,j, resultado, total; printf("Ingrese el tamaño del vector A:"); scanf("%d", &tam_a); for(i=0;i<tam_a;i++) { printf("Ingrese elemento [%d]:",i); scanf("%d",&vec_a); } printf("Ingrese el tamaño del vector B:"); scanf("%d", &tam_b); for(j=0;j<tam_b;j++) { printf("Ingrese elemento [%d]:",j); scanf("%d",&vec_b[j]); } total=0; resultado=multiplicar(vec_a,vec_b,tam_a, tam_b,total); printf("La suma de los producto de los elementos del vector es:%d\n", resultado); system("pause"); }
int multiplicar(int vec_a[],int vec_b[],int tam_a, int tam_b,int total) { if(tam_a==1) return total; else{ total = total+ (vec_a[tam_a-1] * vec_b[tam_b-1]); return multiplicar(vec_a,vec_b,tam_a-1,tam_b-1,total); }
}
|
|
|
En línea
|
|
|
|
s3tH
Desconectado
Mensajes: 55
|
Disculpen las molestias, despues de un intento mas ya quedo, de todas formas le dejo mi codigo, para que lo chequen, saludos
#include <stdlib.h> #include <stdio.h>
int multiplicar(int vec_a[],int vec_b[],int tam_a, int tam_b,int total);
int main() { int vec_a[100], vec_b[100],tam_a,tam_b, i,j, resultado, total; printf("Ingrese el tamaño del vector A:"); scanf("%d", &tam_a); for(i=0;i<tam_a;i++) { printf("Ingrese elemento [%d]:",i); scanf("%d",&vec_a); } printf("Ingrese el tamaño del vector B:"); scanf("%d", &tam_b); for(j=0;j<tam_b;j++) { printf("Ingrese elemento [%d]:",j); scanf("%d",&vec_b[j]); } total=0; resultado=multiplicar(vec_a,vec_b,tam_a, tam_b,total); printf("La suma de los producto de los elementos del vector es:%d\n", resultado); system("pause"); }
int multiplicar(int vec_a[],int vec_b[],int tam_a, int tam_b,int total) { if(tam_a<1) return total; else{ total = total+ (vec_a[tam_a-1] * vec_b[tam_b-1]); return multiplicar(vec_a,vec_b,tam_a-1,tam_b-1,total); }
}
|
|
|
En línea
|
|
|
|
exel
Desconectado
Mensajes: 50
|
Hay partes en el codigo que un buen compilador en C/C++ detectaria y por ello no compilaria. Te recomiendo utilizar las restricciones del ANSI C. Lineas como scanf("%d",&vec_a); y lineas que faltan como return 0; en main() son errores muy graves.
No esta mal el codigo, sin embargo te hago una pregunta: ¿y si el tamaño del vector B es menor al tamaño del vector A?
Saludos
|
|
|
En línea
|
|
|
|
s3tH
Desconectado
Mensajes: 55
|
Hay partes en el codigo que un buen compilador en C/C++ detectaria y por ello no compilaria. Te recomiendo utilizar las restricciones del ANSI C. Lineas como scanf("%d",&vec_a); y lineas que faltan como return 0; en main() son errores muy graves.
No esta mal el codigo, sin embargo te hago una pregunta: ¿y si el tamaño del vector B es menor al tamaño del vector A?
Saludos
Que tal, perdon en mi codigo si aparece, pero no se a que se deba que al copiar y pegar omitio esas partes. Lo siento, no especifique que una condicion incial del probleme es que ambos vectores heran del mismo tamaño, y si amigo tienes razon aun tiene varios detalles para validar, pero ya estoy en eso, en este caso mi problema solo hera como retornar el valor, saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema recursivo
Ejercicios
|
:ohk<any>
|
4
|
10,341
|
4 Octubre 2008, 15:00 pm
por :ohk<any>
|
|
|
Listado recursivo
Java
|
zaico
|
2
|
4,485
|
30 Abril 2012, 00:23 am
por zaico
|
|
|
Operacion Suma (Vectores) !Duda!
« 1 2 3 »
Programación C/C++
|
Fire544
|
20
|
11,258
|
13 Julio 2012, 08:15 am
por Fire544
|
|
|
Duda con suma de vectores !Resuelto!
Programación C/C++
|
Fire544
|
0
|
1,737
|
27 Julio 2012, 15:25 pm
por Fire544
|
|
|
SUMA DE VECTORES
Programación C/C++
|
JHONALEJOO
|
2
|
3,014
|
20 Noviembre 2014, 17:18 pm
por rir3760
|
|