Guião laboratorial n.º 1 – exercício 13

“Desenvolva uma função que calcule o produto escalar de dois vetores de números reais a, b, com dimensão n, sabendo que:

A declaração da função poderá ter o seguinte formato:
double produto_escalar (double *a, double *b, int n)

#include <stdio.h>
#include <stdlib.h>

#define tam1 10
#define tam2 10

// nao usei o double porque nao percebi o printf..
int produto_escalar(int *a, int *b, int n){
int *p,*q;
int soma=0;
for(p=a, q=b; p<a+n && q<b+n; p++, q++){
    soma=soma+*p+*q;
    printf("\n%d\t%d\t%d", *p, *q, soma);
}
return soma;
}

int main()
{
int vector1[]={0,1,2,3,4,5,6,7,8,9};
int vector2[]={0,1,2,3,4,5,6,7,8,9};
int valor;
valor=produto_escalar(vector1, vector2, tam1);
printf("\nO produto escalar vem: %d", valor);


return 0;
}


Tags :