Iloczyn skalarny,wektory

0

Napisz funkcje obliczajaca iloczyn skalarny dwoch n-wymiarowych wektorow liczb zmiennoprzecinkowych.

#include <stdio.h>
double wekt(int w,double wektorA[],double wektorB[]){
	double il_skalarny;
	int i;
	for(i=0;i<w;i++){
	il_skalarny=0.0;
	il_skalarny=il_skalarny+(wektorA[i]*wektorB[i]);
	}
	return il_skalarny;
}
int main(){
	int n;
	printf("Ilu wymiarowe wektory chcesz podac: \n");
	scanf("%d",&n);
	double wektorA[n], wektorB[n];
	printf("Wprowadz %d wspolrzedne pierwszego wektora: \n",n);
	for(int i=0;i<n;i++){
	scanf("%lf",&wektorA[i]);
	}
	printf("Wprowadz %d wspolrzedne drugiego wektora: \n",n);
	for(int i=0;i<n;i++){
	scanf("%lf",&wektorB[i]);
	}
	printf("iloczyn skalarny wynosi: %.3lf",wekt(n,wektorA,wektorB));
	return 0;
}

funkcja oblicza tylko iloczyn ostatnich wektorow, gdzie jest błąd?

2
    for(i=0;i<w;i++){
    il_skalarny=0.0;

za każdym razem odrzucasz poprzedni wynik i nadpisujesz go zerem. Zrób tak tylko raz, przy inicjalizacji, a nie za każdym razem, w pętli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1