回答編集履歴

1

追記しました。

2020/11/14 03:37

投稿

tatsu99
tatsu99

スコア5493

test CHANGED
@@ -33,3 +33,91 @@
33
33
       i+j==S-1なら斜めの位置にあるので以下の処理
34
34
 
35
35
       i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはS-1-iを使用)
36
+
37
+
38
+
39
+ @word_nとword_arrはあなたのをそのまま使用してください
40
+
41
+ ```ruby
42
+
43
+ def find_position(arr,s,val)
44
+
45
+ (0..s-1).each do |i|
46
+
47
+ (0..s-1).each do |j|
48
+
49
+ if arr[i][j] == val
50
+
51
+ return i,j
52
+
53
+ end
54
+
55
+ end
56
+
57
+ end
58
+
59
+ return nil,nil
60
+
61
+ end
62
+
63
+
64
+
65
+
66
+
67
+ # arrと同じ形式のhantei(初期値:0)
68
+
69
+
70
+
71
+ hantei = Array.new(S)
72
+
73
+ (0..S-1).each do |i|
74
+
75
+ ar = Array.new(S,0)
76
+
77
+ hantei[i] = ar
78
+
79
+ end
80
+
81
+
82
+
83
+ pp hantei
84
+
85
+ #@word_nを作成(なかみは適当)
86
+
87
+ @word_n = ["aaa","bbb","ccc"]
88
+
89
+ #word_arrを作成(中身は入れてない)
90
+
91
+ word_arr = Array.new(S)
92
+
93
+ (0..S-1).each do |i|
94
+
95
+ ar = Array.new(S)
96
+
97
+ word_arr[i] = ar
98
+
99
+ end
100
+
101
+ @word_n.each do |val|
102
+
103
+ i,j = find_position(word_arr,S,val)
104
+
105
+ if i == nil
106
+
107
+ printf("バグのため終了\n")
108
+
109
+ exit 10
110
+
111
+ end
112
+
113
+ hantei[i,j] = 1
114
+
115
+ # 以下4つのビンゴ判定(4つのメソッドをつくったほうがよいかと思います)
116
+
117
+ end
118
+
119
+
120
+
121
+
122
+
123
+ ```