#/*********************************************************** # srchmat.rb -- 2次元の探索 #***********************************************************/ NOT_FOUND = false FOUND = true def searchmat( x, a, imin, imax, jmin, jmax) i = imax; j = jmin while (a[i][j] != x) if (a[i][j] < x); j += 1; else; i -= 1; end if (i < imin || j > jmax); return NOT_FOUND; end end return FOUND, i, j end a = [[1, 2, 3, 4], [2, 4, 6, 8], [3, 6, 9, 12]] print " 1 2 3 4\n", "A = 2 4 6 8 (i = 0, 1, 2; j = 0, 1, 2, 3)\n", " 3 6 9 12\n", "何を探しますか? " x = gets.to_i cond, i, j = searchmat(x, a, 0, 2, 0, 3) if (cond == FOUND) printf("(i, j) = (%d, %d)\n", i, j) else printf("見つかりません\n") end exit 0