半径1の円に内接する三角形の面積を10の6乗回計算し、その最大値と平均値を求めるというプログラムを、次のように作成しました。
int main(int argc, char **argv)
{
srand48(time(NULL));
int i, j;
double sum, max;
for(j = 0; j < 1000000; j++) {
double s[j];
Vec3 v[3], va, vb;
double th[3];
for (i = 0; i < 3; i++) {
th[i] = 2 * M_PI * drand48();
v[0].x = cos(th[0]);
v[0].y = sin(th[0]);
v[0].z = 0;
v[1].x = cos(th[1]);
v[1].y = sin(th[1]);
v[1].z = 0;
v[2].x = cos(th[2]);
v[2].y = sin(th[2]);
v[2].z = 0;
va = vsub(v[1], v[0]);
vb = vsub(v[2], v[1]);
}
s[j] = vabs(voprod(va, vb)) / 2;
max = s[0];
if(s[j] > max){
max = s[j];
}
sum = sum + s[j];
}
printf("Maximum = %f\n",max);
printf("Average = %f\n",sum/1000000);
return (0);
}
結果、平均値については理論値に近い値が出たのですが、最大値は取りうるはずのない値が何度も算出されました(理論値を超えた値、平均値より小さい値など。)どこが間違っているのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
c言語プログラミングで1から100...
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
c言語for文
-
scanfが実行されません
-
C言語プログラムが理解できなくて…
-
C言語階乗の総和を求める
-
C言語の二分法のプログラムにつ...
-
#if 1 #elseの意味について
-
C言語 数字以外を入力させない...
-
階乗のプログラム!!
-
C言語 マスターマインドゲーム...
-
c言語で平均をだす
-
プログラム 不等式
-
c言語のwhile文を使った計算で...
-
C言語です
-
入力した数値を0~3乗するプロ...
-
C言語でのソースファイル
-
Cプログラムの条件文 if,els...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
C言語階乗の総和を求める
-
配列を使って魔方陣
-
C言語 数字以外を入力させない...
-
C言語プログラムが理解できなくて…
-
配列を関数に渡す方法
-
初心者です。for文、if文を使っ...
-
scanf関数を用いての加減乗除%...
-
c言語プログラミングで1から100...
-
getcの改行判定
-
while文について、c言語...
-
プログラミングで二番目に大き...
-
VHDLで、case文とwhen文のどち...
-
C言語で電卓を作成する。
-
C言語の二分法のプログラムにつ...
-
階乗のプログラム!!
-
プログラミングに関して
-
C言語についてですfor ifをつか...
おすすめ情報