質問編集履歴

1

解決しました

2021/07/09 11:32

投稿

riven
riven

スコア1

test CHANGED
File without changes
test CHANGED
@@ -16,25 +16,7 @@
16
16
 
17
17
  実行例1
18
18
 
19
- データ数の入力>>4
20
19
 
21
- データ群1のデータ 1の入力>>3
22
-
23
- データ群1のデータ 2の入力>>2
24
-
25
- 0目の要素は3
26
-
27
- 1目の要素は2
28
-
29
- データ群2のデータ1の入力>>1
30
-
31
- データ群2のデータ2の入力>>4
32
-
33
- 0目の要素は1
34
-
35
- 1目の要素は4
36
-
37
- 共分散は1.250です
38
20
 
39
21
 
40
22
 
@@ -54,127 +36,7 @@
54
36
 
55
37
 
56
38
 
57
- //プロトタイプ宣言
58
39
 
59
- double calcMean(int data[], int num);
60
-
61
-
62
-
63
- int main(void){
64
-
65
- int num = 0; //numは配列に入れるデータの個数
66
-
67
- int data1[] = {0}, data2[] = {0};
68
-
69
- double S = 0, mean1 = 0, mean2 = 0;
70
-
71
- int i = 0;
72
-
73
-
74
-
75
- printf("データ数の入力>>");
76
-
77
- scanf("%d",&num);
78
-
79
-
80
-
81
- //numが0以下、101以上のときは再入力させる。
82
-
83
- while(0>=num || 101<num){
84
-
85
- printf("データ数は1以上100以下で設定してください>>");
86
-
87
- scanf("%d",&num);
88
-
89
- }
90
-
91
-
92
-
93
- //データ群1のデータ入力
94
-
95
- for(i=0; i<num; i++){
96
-
97
- printf("データ群1のデータ%2dの入力>>",i+1);
98
-
99
- scanf("%d",&data1[i]);
100
-
101
- }
102
-
103
- mean1 = calcMean(data1, num);
104
-
105
-
106
-
107
- //data1の中身を見る
108
-
109
- for(i=0; i<num; i++){
110
-
111
- printf("%d目の要素は%d\n",i,data1[i]);
112
-
113
- }
114
-
115
-
116
-
117
- //データ群2のデータ入力
118
-
119
- for(i=0; i<num; i++){
120
-
121
- printf("データ群2のデータ%2dの入力>>",i+1);
122
-
123
- scanf("%d",&data2[i]);
124
-
125
- }
126
-
127
- mean2 = calcMean(data2, num);
128
-
129
-
130
-
131
- //data2の中身を見る
132
-
133
- for(i=0; i<num; i++){
134
-
135
- printf("%d目の要素は%d\n",i,data2[i]);
136
-
137
- }
138
-
139
-
140
-
141
- //共分散を求める
142
-
143
- for(i=0; i<num; i++){
144
-
145
- S += (data1[i] - mean1)*(data1[i] - mean2);
146
-
147
- }
148
-
149
- S = S/num;
150
-
151
- printf("共分散は%5.3fです\n",S);
152
-
153
- return 0;
154
-
155
- }
156
-
157
-
158
-
159
- double calcMean(int data[], int num){
160
-
161
- double mean = 0;
162
-
163
- int i;
164
-
165
- for(i=0; i<num; i++){
166
-
167
- mean += data[i];
168
-
169
- }
170
-
171
-
172
-
173
- mean = mean /(double)num;
174
-
175
- return mean;
176
-
177
- }
178
40
 
179
41
  ```
180
42