elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Suma de vectores recursivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Suma de vectores recursivo  (Leído 8,080 veces)
s3tH

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Suma de vectores recursivo
« en: 6 Mayo 2012, 06:57 am »

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 Desconectado

Mensajes: 55



Ver Perfil
Re: Suma de vectores recursivo
« Respuesta #1 en: 6 Mayo 2012, 07:50 am »

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 Desconectado

Mensajes: 55



Ver Perfil
Re: Suma de vectores recursivo
« Respuesta #2 en: 6 Mayo 2012, 08:00 am »

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 Desconectado

Mensajes: 50



Ver Perfil
Re: Suma de vectores recursivo
« Respuesta #3 en: 6 Mayo 2012, 09:56 am »

 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 Desconectado

Mensajes: 55



Ver Perfil
Re: Suma de vectores recursivo
« Respuesta #4 en: 6 Mayo 2012, 20:18 pm »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema recursivo
Ejercicios
:ohk<any> 4 10,341 Último mensaje 4 Octubre 2008, 15:00 pm
por :ohk<any>
Listado recursivo
Java
zaico 2 4,485 Último mensaje 30 Abril 2012, 00:23 am
por zaico
Operacion Suma (Vectores) !Duda! « 1 2 3 »
Programación C/C++
Fire544 20 11,258 Último mensaje 13 Julio 2012, 08:15 am
por Fire544
Duda con suma de vectores !Resuelto!
Programación C/C++
Fire544 0 1,737 Último mensaje 27 Julio 2012, 15:25 pm
por Fire544
SUMA DE VECTORES
Programación C/C++
JHONALEJOO 2 3,014 Último mensaje 20 Noviembre 2014, 17:18 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines