質問編集履歴

1

解決後追記

2015/11/23 15:32

投稿

t-miyazaki
t-miyazaki

スコア71

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,83 @@
29
29
 
30
30
 
31
31
  プログラム言語は何でも構いません。命令型でも関数型でも大丈夫です。
32
+
33
+
34
+
35
+
36
+
37
+ ---
38
+
39
+ 解決後追記:
40
+
41
+
42
+
43
+ より良い回答を頂いた後に何なんですが、念のため昨日質問をする前に私が書いたコードを載せておきます。
44
+
45
+ ```Java
46
+
47
+ public static int[][] makeArray(int n) {
48
+
49
+ int[][] array = new int[n][n];
50
+
51
+
52
+
53
+ int num = 1;
54
+
55
+ int istart = 0, jstart = 0;
56
+
57
+ int i = 0, j = 0;
58
+
59
+
60
+
61
+ while (true) {
62
+
63
+ array[i][j] = num;
64
+
65
+ num++;
66
+
67
+
68
+
69
+ // リセットの場合
70
+
71
+ if (i == jstart && j == istart) {
72
+
73
+ // 終了の場合
74
+
75
+ if (i == n - 1 && j == n - 1)
76
+
77
+ break;
78
+
79
+
80
+
81
+ if (istart != n - 1) {
82
+
83
+ istart++;
84
+
85
+ } else {
86
+
87
+ jstart++;
88
+
89
+ }
90
+
91
+ i = istart;
92
+
93
+ j = jstart;
94
+
95
+ continue;
96
+
97
+ }
98
+
99
+ // 続ける場合
100
+
101
+ i--;
102
+
103
+ j++;
104
+
105
+ }
106
+
107
+ return array;
108
+
109
+ }
110
+
111
+ ```