質問編集履歴

3

質問文の編集

2022/07/01 02:03

投稿

clclclclclc
clclclclclc

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,7 @@
1
+ ```
1
- ```4×4の行列計算ができるプログラムを書くのが目的です。
2
+ 4×4の行列計算ができるプログラムを書くのが目的です。
2
- 関数mulにq_aとq_bを引き渡す部分で「型"double(*)[4]"の引数は型"double *"のパラメーターと互換性がありません」とエラーが出ます。どのようにすればうまく引き渡せますか。
3
+ 関数mulにq_aとq_bを引き渡す部分で「型"double(*)[4]"の引数は型"double *"のパラメーターと互換性がありません」とエラーが出ます。
4
+ どのようにすればうまく引き渡せますか。
3
5
 
4
6
  よろしくお願いします。
5
7
 

2

見やすさの変更

2022/07/01 02:00

投稿

clclclclclc
clclclclclc

スコア0

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,10 @@
1
+ ```4×4の行列計算ができるプログラムを書くのが目的です。
2
+ 関数mulにq_aとq_bを引き渡す部分で「型"double(*)[4]"の引数は型"double *"のパラメーターと互換性がありません」とエラーが出ます。どのようにすればうまく引き渡せますか。
3
+
4
+ よろしくお願いします。
5
+
6
+ コード
1
- #include<stdio.h>
7
+ ```#include<stdio.h>
2
8
  #define I 4
3
9
  #define J 4
4
10
  #define K 4
@@ -24,11 +30,5 @@
24
30
  for (i = 0; i < I; i++) {...}
25
31
       //計算
26
32
  return 0;
27
- }
33
+
28
34
 
29
- 4×4の行列計算ができるプログラムを書くのが目的です。
30
- 関数mulにq_aとq_bを引き渡す部分で「型"double(*)[4]"の引数は型"double *"のパラメーターと互換性がありません」とエラーが出ます。どのようにすればうまく引き渡せますか。
31
-
32
- よろしくお願いします。
33
-
34
-

1

簡潔化

2022/06/30 17:41

投稿

clclclclclc
clclclclclc

スコア0

test CHANGED
File without changes
test CHANGED
@@ -3,54 +3,32 @@
3
3
  #define J 4
4
4
  #define K 4
5
5
 
6
- double mul(double* pA, double* pB);
6
+ double multi(double* pA, double* pB);
7
7
 
8
8
  int main(void) {
9
9
 
10
- double que_a[I][J];
10
+ double q_a[I][J];
11
- double que_b[J][K];
11
+ double q_b[J][K];
12
12
  int i,j,k;
13
13
 
14
- printf("1つ目の行列の値を入力してください。\n");
15
- for (i = 0; i < I; i++) {
14
+ for (i = 0; i < I; i++) {...}
16
- for (j = 0; j < J; j++) {
15
+ for (j = 0; j < J; j++) {...}
17
- scanf_s("%lf", &que_a[i][j]);
18
- }
19
- }
20
16
 
21
- printf("2つ目の行列の値を入力してください。\n");
22
- for (j = 0; j < J; j++) {
23
- for (k = 0; k < K; k++) {
24
- scanf_s("%lf", &que_b[j][k]);
25
- }
26
- }
27
-
28
- mul(que_a, que_b);
17
+ multi(q_a, q_b);
29
18
 
30
19
  return 0;
31
20
  }
32
21
 
33
- double mul(double *pA, double *pB)
22
+ double multi(double *pA, double *pB)
34
23
  {
35
- double c[I][K];
36
- int i, j, k;
37
-
38
- for (i = 0; i < I; i++) {
24
+ for (i = 0; i < I; i++) {...}
39
- for (k = 0; k < K; k++) {
25
+      //計算
40
- for (j = 0; j < J; j++) {
41
-
42
- c[i][k] = pA[i][j] * pB[j][k];
43
- printf("%f\n", c[i][k]);
44
-
45
- }
46
- }
47
- }
48
26
  return 0;
49
27
  }
50
28
 
51
29
  4×4の行列計算ができるプログラムを書くのが目的です。
52
- 関数mulにque_aとque_bを引き渡す部分で「型"double(*)[4]"の引数は型"double *"のパラメーターと互換性がありません」とエラーが出ます。どのようにすればうまく引き渡せますか。
30
+ 関数mulにq_aとq_bを引き渡す部分で「型"double(*)[4]"の引数は型"double *"のパラメーターと互換性がありません」とエラーが出ます。どのようにすればうまく引き渡せますか。
53
- また関数mul内の計算c[i][k] = pA[i][j] * pB[j][k]などの部分も含めて指摘していただけると幸いです。
31
+
54
32
  よろしくお願いします。
55
33
 
56
34