ベクトル積計算プログラム作成してますが
1番目のベクトル b のx,y,z成分を空白区切で入力
> 1 2 3
2番目のベクトル c のx,y,z成分を空白区切で入力
> 4 5 7
と入力すると
外積=(0.000000,0.000000,0.000000)
と正しく出力されません。
どう直せば正しく出力されるのか、ご存じの方ご教示お願い致します。
#include <stdio.h> #include <math.h> typedef struct { double x,y,z; } VECTOR; VECTOR cross(VECTOR b,VECTOR c); int main(){ VECTOR b,c,e; printf("1番目のベクトル b のx,y,z成分を空白区切で入力\n"); printf("> "); scanf("%lf%lf%lf",&b.x,&b.y,&b.z); printf("2番目のベクトル c のx,y,z成分を空白区切で入力\n"); printf("> "); scanf("%lf%lf%lf",&c.x,&c.y,&c.z); printf("\n"); printf("外積=(%f,%f,%f)\n",e.x,e.y,e.z); printf("\n# 正常終了 #\n"); return 0; } VECTOR cross(VECTOR b,VECTOR c){ VECTOR e; e.x = b.y*c.z-b.z*c.y; e.y = b.z*c.x-b.x*c.z; e.z = b.x*c.y-b.y*c.x; return e; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/24 02:11
2020/07/24 02:17 編集
2020/07/24 02:33
2020/07/24 02:41