teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2018/11/23 05:17

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -16,6 +16,6 @@
16
16
  return 1. * rand() / RAND_MAX;
17
17
  }
18
18
  double d_rand_range(double min, double max) {
19
- return d_rand() * fabs(max - min) - fabs(min);
19
+ return d_rand() * (max - min) + min;
20
20
  }
21
21
  ```

1

追記

2018/11/23 05:17

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -6,4 +6,16 @@
6
6
  }
7
7
  > ```
8
8
 
9
- 返り値をint型にキャストする処理が走っています。適切な型(double)を指定してください。
9
+ 返り値をint型にキャストする処理が走っています。適切な型(double)を指定してください。
10
+
11
+ ---
12
+ rnd_generateの実装自体も間違っていそうな雰囲気です。
13
+ 関数を適切に分けた方が書きやすいと思いますが。
14
+ ```C
15
+ double d_rand(void) {
16
+ return 1. * rand() / RAND_MAX;
17
+ }
18
+ double d_rand_range(double min, double max) {
19
+ return d_rand() * fabs(max - min) - fabs(min);
20
+ }
21
+ ```