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

回答編集履歴

3

d

2020/09/15 06:06

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -43,12 +43,11 @@
43
43
 
44
44
  void print_array(const Mat &mat)
45
45
  {
46
-
47
46
  for (size_t i = 0; i < mat.size(); ++i) {
48
47
  for (size_t j = 0; j < mat[0].size(); ++j) {
49
- printf("%d ", mat[i][j]);
48
+ std::cout << mat[i][j] << " ";
50
49
  }
51
- printf("\n");
50
+ std::cout << std::endl;
52
51
  }
53
52
  }
54
53
 
@@ -64,5 +63,4 @@
64
63
 
65
64
  return 0;
66
65
  }
67
-
68
66
  ```

2

d

2020/09/15 06:06

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -29,4 +29,40 @@
29
29
  return 0;
30
30
  }
31
31
 
32
+ ```
33
+
34
+ ## vector で書き直した例
35
+
36
+ C++ なら C の配列でなく、std::vector を使ったほうがよいでしょう。
37
+
38
+ ```cpp
39
+ #include <iostream>
40
+ #include <vector>
41
+
42
+ using Mat = std::vector<std::vector<int>>;
43
+
44
+ void print_array(const Mat &mat)
45
+ {
46
+
47
+ for (size_t i = 0; i < mat.size(); ++i) {
48
+ for (size_t j = 0; j < mat[0].size(); ++j) {
49
+ printf("%d ", mat[i][j]);
50
+ }
51
+ printf("\n");
52
+ }
53
+ }
54
+
55
+ int main()
56
+ {
57
+ Mat mat{
58
+ {1, 2, 3},
59
+ {4, 5, 6},
60
+ {7, 8, 9},
61
+ };
62
+
63
+ print_array(mat);
64
+
65
+ return 0;
66
+ }
67
+
32
68
  ```

1

e

2020/09/15 06:05

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -5,11 +5,11 @@
5
5
  ```c
6
6
  #include "stdio.h"
7
7
 
8
- void print_array(int array[][3], size_t cols)
8
+ void print_array(int array[][3], size_t rows)
9
9
  {
10
10
 
11
+ for (size_t i = 0; i < rows; ++i) {
11
- for (size_t i = 0; i < 3; ++i) {
12
+ for (size_t j = 0; j < 3; ++j) {
12
- for (size_t j = 0; j < cols; ++j) {
13
13
  printf("%d ", array[i][j]);
14
14
  }
15
15
  printf("\n");