El caso, es que el programa tiene hacer la suma de dos vectores y el producto escalar pero al compilarlo y ejecutarlo me salen erroneos los resultados.
No sé si fallo en las funciones o en la forma de invocarlo. Si alguien puede ayudarme se lo agradecería.
Parte de las funciones:
Código:
float suma_vectores(float *v1, float *v2, int dim){
int i;
float vsuma[DIMMAX];
for (i=0; i < dim; i++)
vsuma[i] += v1[i] + v2[i];
return vsuma[i];
}
float producto_vectores(float *v1, float *v2, int dim){
float prod_escalar = 0;
int i;
for (i=0; i < dim; i++)
prod_escalar += v1[i] * v2[i];
return prod_escalar;
}
Parte de la invocación:
Código:
modulov1 = modulo_vector(vector1, diml);
modulov2 = modulo_vector(vector2, diml);
vsuma[DIMMAX] = suma_vectores(vector1, vector2,diml);
prod_escalar = producto_vectores(vector1, vector2, diml);
/* Resultados
---------------------------------------
*/
puts("\nVectores introducidos:");
puts("\nPrimer vector: ");
escribir_vector(vector1,diml);
puts("\n\nSegundo vector: ");
escribir_vector(vector2,diml);
printf("\n");
printf("Módulo del primer vector: %f\n", modulov1);
printf("Módulo del segundo vector: %f\n", modulov2);
puts("\nVector suma:");
escribir_vector(vsuma,diml);
puts("\nProducto escalar:");
printf("V1 x V2 = %f\n", prod_escalar);
printf("\n\n");