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

質問編集履歴

1

解決しました

2021/07/09 11:32

投稿

riven
riven

スコア1

title CHANGED
File without changes
body CHANGED
@@ -7,17 +7,8 @@
7
7
  ```
8
8
  エラーメッセージ:なし。
9
9
  実行例1
10
- データ数の入力>>4
11
- データ群1のデータ 1の入力>>3
12
- データ群1のデータ 2の入力>>2
13
- 0目の要素は3
14
- 1目の要素は2
15
- データ群2のデータ1の入力>>1
16
- データ群2のデータ2の入力>>4
17
- 0目の要素は1
18
- 1目の要素は4
19
- 共分散は1.250です
20
10
 
11
+
21
12
  ↑一つの配列につき4この要素を入力できるはずなのにできていない。
22
13
  ```
23
14
 
@@ -26,67 +17,7 @@
26
17
  ```C
27
18
  #include <stdio.h>
28
19
 
29
- //プロトタイプ宣言
30
- double calcMean(int data[], int num);
31
20
 
32
- int main(void){
33
- int num = 0; //numは配列に入れるデータの個数
34
- int data1[] = {0}, data2[] = {0};
35
- double S = 0, mean1 = 0, mean2 = 0;
36
- int i = 0;
37
-
38
- printf("データ数の入力>>");
39
- scanf("%d",&num);
40
-
41
- //numが0以下、101以上のときは再入力させる。
42
- while(0>=num || 101<num){
43
- printf("データ数は1以上100以下で設定してください>>");
44
- scanf("%d",&num);
45
- }
46
-
47
- //データ群1のデータ入力
48
- for(i=0; i<num; i++){
49
- printf("データ群1のデータ%2dの入力>>",i+1);
50
- scanf("%d",&data1[i]);
51
- }
52
- mean1 = calcMean(data1, num);
53
-
54
- //data1の中身を見る
55
- for(i=0; i<num; i++){
56
- printf("%d目の要素は%d\n",i,data1[i]);
57
- }
58
-
59
- //データ群2のデータ入力
60
- for(i=0; i<num; i++){
61
- printf("データ群2のデータ%2dの入力>>",i+1);
62
- scanf("%d",&data2[i]);
63
- }
64
- mean2 = calcMean(data2, num);
65
-
66
- //data2の中身を見る
67
- for(i=0; i<num; i++){
68
- printf("%d目の要素は%d\n",i,data2[i]);
69
- }
70
-
71
- //共分散を求める
72
- for(i=0; i<num; i++){
73
- S += (data1[i] - mean1)*(data1[i] - mean2);
74
- }
75
- S = S/num;
76
- printf("共分散は%5.3fです\n",S);
77
- return 0;
78
- }
79
-
80
- double calcMean(int data[], int num){
81
- double mean = 0;
82
- int i;
83
- for(i=0; i<num; i++){
84
- mean += data[i];
85
- }
86
-
87
- mean = mean /(double)num;
88
- return mean;
89
- }
90
21
  ```
91
22
 
92
23
  ### 試したこと