본문 바로가기
C언어

[C언어] 벡터의 내적(dot product)를 계산하는 함수 vector_dot_prod()를 작성하시오

by 이얏호이야호 2020. 5. 1.

벡터의 내적을 구하는 코드를 가지고 왔습니다.

물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때

혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!

힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고

답안을 확인해보세요

 

코드힌트

더보기

벡터를 구하기에 앞서 내적을 구하는 방법을 알아야겠죠?

배열 x 에 1.0 2.0 3.0

배열y 에 1.0 2.0 3.0

이 있다고 가정하면

1.0 * 1.0 + 2.0 * 2.0 + 3.0 * 3.0

이것을 vector_dot_prod()라는 함수로 녹여내면 프로그램의 작성은 간단합니다

기본 틀은 이러하고 vector_dotp(double x[], double y[])를 완성해주면 됩니다.

#include <stdio.h>

double vector_dotp(double x[], double y[]);

int main(void) {

 double x[3]= {

 1.0, 2.0, 3.0

 }

 ;

 double y[3]= {

 1.0, 2.0, 3.0

 }

 ;

 double value;

 value = vector_dotp(x, y);

 printf("%f\n", value);

 return 0;

}

double vector_dotp(double x[], double y[]) {

}

 

 

답안코드

더보기

 

#include <stdio.h>

double vector_dotp(double x[], double y[]);

int main(void) {

 double x[3]= {

 1.0, 2.0, 3.0

 }

 ;

 double y[3]= {

 1.0, 2.0, 3.0

 }

 ;

 double value;

 value = vector_dotp(x, y);

 printf("%f\n", value);		//내적의 합을 출력

 return 0;

}

double vector_dotp(double x[], double y[]) {		//내적의 합을 구하는 함수

 int i;

 double result;

 result = 0.0;

 for (i=0;i<3;i++)

 result += x[i]*y[i];				//result에 x[0],y[0]의 합.... x[1]y[1]의합 을 모두 합함....

 return result;

}

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

댓글