質問編集履歴

2

意図的に内容を抹消する行為にあたるため

2021/07/29 05:16

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- オススメ学習方法教えて
1
+ 試行回数を10^6回行う方法と面積算出方法について教えていたきたです
test CHANGED
@@ -1,7 +1,123 @@
1
- ### 前提・実現したいこ
1
+ 3 つの 3 次元位置ベクトルを引数にり,それらを頂点
2
2
 
3
- プログラミング苦手で
3
+ る三角形の面積を算出する以下の関数を作成しなさ
4
4
 
5
- これ本当にからない。
5
+ い(1 行で済みますが,ざわざ面積を求める関数を作成
6
6
 
7
+ することとし,main の中で直接面積を算出することはし
8
+
9
+ ないでください).
10
+
11
+ double Area(Vec3 t[3])
12
+
13
+ ⑵ 頂点ベクトルの z の値を 0 として xy 平面内に制限しな
14
+
15
+ さい.また,0 から 1 までの値を発生する一様乱数
16
+
17
+ drand48() を用いて,3 つの頂点の位置座標を算出しな
18
+
19
+ さい.
20
+
21
+ ⑶ 試行回数は 10^6 回としなさい.
22
+
23
+ ⑷ 一様乱数の初期化関数 srand48(seed) の seed には53を与えなさい.
24
+
25
+ ⑸ 作成する関数は Area() と main() だけとし,ベクトルの
26
+
27
+ 計算には vector.h で定義された関数群を用いること(イ
28
+
29
+ ンクルードする).
30
+
31
+ ### 発生している問題・エラーメッセージ
32
+
7
- かいい学習方法はあるでしょう
33
+ ここら先をどうしたら良いのかわかりません。
34
+
35
+ エラーメッセージ
36
+
37
+ この時点での実行結果は
38
+
39
+ $ ./a
40
+
41
+ 0.323350
42
+
43
+ 0.093197
44
+
45
+ 0.233986
46
+
47
+ となっています。
48
+
49
+ ### 該当のソースコード
50
+
51
+ ```
52
+
53
+ #include <stdio.h>
54
+
55
+ #include <stdlib.h>
56
+
57
+ #include <time.h>
58
+
59
+ #include "vector.h"
60
+
61
+ double Area(Vec3 t[3])
62
+
63
+ {Vec3 va,vb;
64
+
65
+ double S;
66
+
67
+
68
+
69
+ va=vsub(t[1],t[0]);
70
+
71
+ vb=vsub(t[1],t[0]);
72
+
73
+ S=vabs(voprod(va,vb))/2;
74
+
75
+ return S;
76
+
77
+ }
78
+
79
+ int main(int argc, char **argv)
80
+
81
+ {
82
+
83
+ int i, seed = (53);
84
+
85
+ if (argc > 1) seed = atoi(argv[1]);
86
+
87
+ srand48(seed);
88
+
89
+ for (i = 0; i < 3; i++)
90
+
91
+ printf("%f\n", drand48());
92
+
93
+ return 0;
94
+
95
+ }
96
+
97
+ ```
98
+
99
+ ### 試したこと
100
+
101
+ この時点での実行結果は
102
+
103
+ $ ./a
104
+
105
+ 0.323350
106
+
107
+ 0.093197
108
+
109
+ 0.233986
110
+
111
+ となっており3つの頂点の位置座標を求めることはできていると思います。
112
+
113
+  
114
+
115
+  しかしここから先の「試行回数を10^6回行う」方法と、三角形の面積を算出する方法がわかりません。
116
+
117
+ どうか教えていただけると嬉しいです。よろしくお願いいたします。
118
+
119
+ ### 補足情報(FW/ツールのバージョンなど)
120
+
121
+ Cプログラミングでemacsを使用しています。
122
+
123
+ ここにより詳細な情報を記載してください。

1

大幅な修正

2021/07/29 05:16

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 試行回数を10^6回行う方法と面積算出方法について教えていたきたです
1
+ オススメ学習方法教えて
test CHANGED
@@ -1,143 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- ⑴ 3 つの 3 次元位置ベクトルを引数にとり,それらを頂点
3
+ プログラミング苦手です
4
4
 
5
- とする三角形の面積を算出する以下の関数を作成し
5
+ これ本当にわからい。
6
6
 
7
- い(1 行で済みますが,わざわざ面積を求める関数を作成
8
-
9
- することとし,main の中で直接面積を算出することはし
10
-
11
- ないでください).
12
-
13
- double Area(Vec3 t[3])
14
-
15
-
16
-
17
- ⑵ 頂点ベクトルの z の値を 0 として xy 平面内に制限しな
18
-
19
- さい.また,0 から 1 までの値を発生する一様乱数
20
-
21
- drand48() を用いて,3 つの頂点の位置座標を算出しな
22
-
23
- さい.
24
-
25
- ⑶ 試行回数は 10^6 回としなさい.
26
-
27
-
28
-
29
- ⑷ 一様乱数の初期化関数 srand48(seed) の seed には53を与えなさい.
30
-
31
-
32
-
33
- ⑸ 作成する関数は Area() と main() だけとし,ベクトルの
34
-
35
- 計算には vector.h で定義された関数群を用いること(イ
36
-
37
- ンクルードする).
38
-
39
- ### 発生している問題・エラーメッセージ
40
-
41
- ここら先をどうしたら良いのかわかりません。
7
+ かいい学習方法はあるでしょう
42
-
43
-
44
-
45
- エラーメッセージ
46
-
47
- この時点での実行結果は
48
-
49
- $ ./a
50
-
51
- 0.323350
52
-
53
- 0.093197
54
-
55
- 0.233986
56
-
57
- となっています。
58
-
59
- ### 該当のソースコード
60
-
61
- #include <stdio.h>
62
-
63
- #include <stdlib.h>
64
-
65
- #include <time.h>
66
-
67
- #include "vector.h"
68
-
69
-
70
-
71
- double Area(Vec3 t[3])
72
-
73
- {Vec3 va,vb;
74
-
75
- double S;
76
-
77
-
78
-
79
- va=vsub(t[1],t[0]);
80
-
81
- vb=vsub(t[1],t[0]);
82
-
83
-
84
-
85
-
86
-
87
- S=vabs(voprod(va,vb))/2;
88
-
89
- return S;
90
-
91
-
92
-
93
- }
94
-
95
-
96
-
97
- int main(int argc, char **argv)
98
-
99
- {
100
-
101
- int i, seed = (53);
102
-
103
- if (argc > 1) seed = atoi(argv[1]);
104
-
105
- srand48(seed);
106
-
107
- for (i = 0; i < 3; i++)
108
-
109
- printf("%f\n", drand48());
110
-
111
- return 0;
112
-
113
- }
114
-
115
-
116
-
117
- ### 試したこと
118
-
119
- この時点での実行結果は
120
-
121
- $ ./a
122
-
123
- 0.323350
124
-
125
- 0.093197
126
-
127
- 0.233986
128
-
129
- となっており3つの頂点の位置座標を求めることはできていると思います。
130
-
131
-  
132
-
133
-  しかしここから先の「試行回数を10^6回行う」方法と、三角形の面積を算出する方法がわかりません。
134
-
135
- どうか教えていただけると嬉しいです。よろしくお願いいたします。
136
-
137
-
138
-
139
- ### 補足情報(FW/ツールのバージョンなど)
140
-
141
- Cプログラミングでemacsを使用しています。
142
-
143
- ここにより詳細な情報を記載してください。