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

質問編集履歴

2

編集

2018/07/28 12:54

投稿

carnage0216
carnage0216

スコア194

title CHANGED
File without changes
body CHANGED
@@ -111,6 +111,7 @@
111
111
  ```なのですが、私のプログラムの出した答えは正しいのでしょうか?紙にも計算してみましたがサイトとは違う答えになりました。
112
112
 
113
113
  <編集>7/28
114
+ 以下が正しいプログラムです。皆様の知恵をお借りしてできました。どうもありがとうございます。
114
115
  ```
115
116
  #include <stdio.h>
116
117
  #include <time.h>

1

編集

2018/07/28 12:54

投稿

carnage0216
carnage0216

スコア194

title CHANGED
File without changes
body CHANGED
@@ -108,4 +108,91 @@
108
108
  サイトでの答えは 
109
109
  ```
110
110
  x=1, y=2, z=3
111
- ```なのですが、私のプログラムの出した答えは正しいのでしょうか?紙にも計算してみましたがサイトとは違う答えになりました。
111
+ ```なのですが、私のプログラムの出した答えは正しいのでしょうか?紙にも計算してみましたがサイトとは違う答えになりました。
112
+
113
+ <編集>7/28
114
+ ```
115
+ #include <stdio.h>
116
+ #include <time.h>
117
+
118
+ #define N 3
119
+
120
+ int main(void) {
121
+
122
+ clock_t start, end;
123
+ start = clock();
124
+
125
+
126
+ float a[N][N+1] = {
127
+ {5,-1,-1,0},
128
+ { 2,1,-3,-5 },
129
+ { 1,1,1 ,6} }; // The matrix
130
+
131
+ int t;
132
+ int u;
133
+ for (t = 0; t <= 3; t++) {
134
+ for (u = 0; u <= 3; u++) {
135
+ printf("中身は%fです\n", a[t][u]);
136
+ //printf("中身は%fです\n", a[0][0]);
137
+ //printf("中身は%fです\n", a[0][0]);
138
+ }}
139
+ int i;
140
+
141
+ float d = a[1][0] / a[0][0];
142
+
143
+
144
+ for (i = 0; i <= 3; i++) {//forを使う上で上限がなかったので3までが上限なのでi<=3と書いた。
145
+ a[1][i] = a[1][i] - a[0][i] * d;
146
+ {
147
+ printf("a[1][%d]=%fとなる\n", i,a[1][i]);
148
+ }
149
+
150
+ //printf("a[1][%d]= a[1][%d]- a[0][%d]* a[0][%d]/ a[0][%d]である\n", i, i, i, i, i);
151
+
152
+ }
153
+
154
+ //printf("%fです\n", a[1][0]);
155
+ //printf("%fです\n", a[1][1]);
156
+ //printf("%fです\n", a[1][2]);
157
+ //printf("%fです\n", a[1][3]);
158
+
159
+ //int I;//forを使ってまとめた。
160
+ //for (I = 0; I <= 3; I++) {
161
+ //printf("forを使うと%fとなる\n", a[1][I]);
162
+ //}
163
+
164
+ float r;
165
+ r = a[2][0] / a[0][0];
166
+ for (i = 0; i <= 3; i++) {
167
+ a[2][i] = a[2][i] - a[0][i] * r;
168
+ }
169
+ int I;
170
+ for (I = 0; I <= 3; I++) {
171
+ printf("a[2][%d]=%fとなる\n", I,a[2][I]);
172
+ }
173
+
174
+ float z;
175
+ z= a[2][1] / a[1][1];
176
+ int y; //iは1から3まで入るのでkに+1した形で入ってもらいiを利用する。kはforより3までとする。
177
+ for (y = 0; y <= 3; y++) {
178
+ a[2][y] = a[2][y] - a[1][y] * z;
179
+ printf("a[2][%d]=%fとなる\n", y, a[2][y]);
180
+ }
181
+
182
+ float g = a[2][3] / a[2][2];
183
+ printf("Z=%f\n", g);
184
+
185
+ float h;
186
+ h = a[1][3] / a[1][1] - a[1][2] / a[1][1]* a[2][3] / a[2][2];
187
+ printf("Y=%f\n", h);
188
+
189
+ float j;
190
+ j = h / a[0][0] + g / a[0][0];
191
+ printf("X=%f\n", j);
192
+ end = clock();
193
+ printf("%f sec\n", (double)(end - start) / CLOCKS_PER_SEC);
194
+
195
+ return 0;
196
+ }
197
+
198
+ ```