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

回答編集履歴

1

追記しました。

2020/11/14 03:37

投稿

tatsu99
tatsu99

スコア5540

answer CHANGED
@@ -15,4 +15,48 @@
15
15
       i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはiと同じ値を使用)
16
16
   3-4)斜め並びの判定(右上がり)
17
17
       i+j==S-1なら斜めの位置にあるので以下の処理
18
-      i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはS-1-iを使用)
18
+      i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはS-1-iを使用)
19
+
20
+ @word_nとword_arrはあなたのをそのまま使用してください
21
+ ```ruby
22
+ def find_position(arr,s,val)
23
+ (0..s-1).each do |i|
24
+ (0..s-1).each do |j|
25
+ if arr[i][j] == val
26
+ return i,j
27
+ end
28
+ end
29
+ end
30
+ return nil,nil
31
+ end
32
+
33
+
34
+ # arrと同じ形式のhantei(初期値:0)
35
+
36
+ hantei = Array.new(S)
37
+ (0..S-1).each do |i|
38
+ ar = Array.new(S,0)
39
+ hantei[i] = ar
40
+ end
41
+
42
+ pp hantei
43
+ #@word_nを作成(なかみは適当)
44
+ @word_n = ["aaa","bbb","ccc"]
45
+ #word_arrを作成(中身は入れてない)
46
+ word_arr = Array.new(S)
47
+ (0..S-1).each do |i|
48
+ ar = Array.new(S)
49
+ word_arr[i] = ar
50
+ end
51
+ @word_n.each do |val|
52
+ i,j = find_position(word_arr,S,val)
53
+ if i == nil
54
+ printf("バグのため終了\n")
55
+ exit 10
56
+ end
57
+ hantei[i,j] = 1
58
+ # 以下4つのビンゴ判定(4つのメソッドをつくったほうがよいかと思います)
59
+ end
60
+
61
+
62
+ ```