fork(1) download
  1. #include <stdio.h>
  2. #define N 3
  3.  
  4. void input(double *v, int n){/***ベクトルに値を代入する関数***/
  5. int i;
  6. for(i=0;i<n;i++){
  7. printf("ベクトルを入力してください");
  8. scanf("%lf",&v[i]);
  9. }
  10. }
  11.  
  12. void print(const double *v, int n){/***ベクトルを表示する関数***/
  13. int i;
  14. printf("(");
  15. for(i=0;i<n;i++)
  16. printf("%.1f ",v[i]);
  17. printf(")\n");
  18. }
  19.  
  20. double inner_product(const double *a, const double *b, int n){/***内積を求める関数***/
  21. int i;
  22. double p=0.0;
  23. for(i=0;i<n;i++)
  24. p+=a[i]*b[i];
  25. return(p);
  26. }
  27.  
  28. void exterior_product(double *c, const double *a, const double *b){/***外積を求める関数***/
  29. c[0]=a[1]*b[2]-a[2]*b[1];
  30. c[1]=a[2]*b[0]-a[0]*b[2];
  31. c[2]=a[0]*b[1]-a[1]*b[0];
  32. }
  33.  
  34. int main(void){
  35. double a[N],b[N],c[N];
  36.  
  37. input(a,N);/***ベクトルaを入力***/
  38. input(b,N);/***ベクトルbを入力***/
  39.  
  40. printf("a=");
  41. print(a,N);/***ベクトルaを表示***/
  42.  
  43. printf("b=");
  44. print(b,N);/***ベクトルbを表示***/
  45.  
  46. printf("内積: %f\n",inner_product(a,b,N));/***内積を求めて表示***/
  47.  
  48. printf("外積:");
  49. exterior_product(c,a,b);/***外積を求める***/
  50. print(c,N);/***配列dを表示***/
  51.  
  52. return(0);
  53. }
  54.  
Success #stdin #stdout 0.01s 1724KB
stdin
Standard input is empty
stdout
ベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいベクトルを入力してくださいa=(0.0 -0.1 0.0 )
b=(0.0 0.0 0.0 )
内積: -0.000000
外積:(-0.0 -0.0 0.0 )