質問編集履歴

1

2020/01/09 07:20

投稿

c-beginner
c-beginner

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1 +1,85 @@
1
1
  大学でプログラミングを1講義としての学び始めた学生です。授業ではc言語を用いて初歩的なプログラミングを行っています。そこで、乱数を使用した3行3列の行列の積を計算するプログラムを書きたいのですが、上手く行きません。どなたか教えて頂けないでしょうか。
2
+
3
+ #include <stdio.h>
4
+
5
+ #include <stdlib.h>
6
+
7
+ #include <time.h>
8
+
9
+
10
+
11
+ int main (void)
12
+
13
+ {
14
+
15
+ int i,j,k,n;
16
+
17
+ double a[3][3];
18
+
19
+ double b[3][3];
20
+
21
+ double c[3][3];
22
+
23
+
24
+
25
+ n=2;
26
+
27
+ srand( (unsigned)time(NULL); /*時刻による乱数列の初期化*/
28
+
29
+
30
+
31
+ printf("\n行列を表示\n");
32
+
33
+ for(i=0;i<=n;i++){
34
+
35
+ for(j=0;j<=n;j++){
36
+
37
+ a[i][j]=rand()%100;
38
+
39
+ b[i][j]=rand()%100;
40
+
41
+ }
42
+
43
+ }
44
+
45
+
46
+
47
+ printf("a=\n");
48
+
49
+ for (i=0;i<=n;i++){
50
+
51
+ for (j=0;j<=n;j++){
52
+
53
+ printf("%8.3f",a[i][j]);
54
+
55
+ }
56
+
57
+ printf("\n");
58
+
59
+ }
60
+
61
+
62
+
63
+ printf("c=\n");
64
+
65
+ for(i=0;i<=n;i++){
66
+
67
+ for(j=0;j<=n;j++){
68
+
69
+ for(k=0;k<=n;k++){
70
+
71
+ c[i][j]=a[i][k]*b[k][j]+c[i][j];
72
+
73
+ }
74
+
75
+ printf("%8.3f",c[i][j]);
76
+
77
+ }
78
+
79
+ printf("\n");
80
+
81
+ }
82
+
83
+ return 0;
84
+
85
+ }