地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

内積を求める

内積を求めるプログラム 2 つのベクトルの内積は高校数学当たり範囲 プログラムで書くとすごく簡単に求まるんだなーって感慨深い

/* header files */
#include <stdio.h>
#include <stdlib.h>

/* functions */
double InnerProduct(double *, double *, int);

/* main */
int main(void) {
    double inner_product;
    double vec1[] = {1.0, 2.0, 3.0};
    double vec2[] = {2.0, 1.0, 3.0};

    /* 内積を求める */
    inner_product = InnerProduct(vec1, vec2, 3);
    printf("内積: %.2f\n", inner_product);

    return EXIT_SUCCESS;
}

double InnerProduct(double *vec1, double *vec2, int n) {
    int i;
    double s = 0.0;

    for ( i = 0; i < n; i++ ) {
        s += vec1[i] * vec2[i];
    }

    return s;
}