Вот пример программы поиска слов Kotlin:
fun main() {
val wordSearch = arrayOf(
charArrayOf('A', 'B', 'C', 'D', 'E'),
charArrayOf('F', 'G', 'H', 'I', 'J'),
charArrayOf('K', 'L', 'M', 'N', 'O'),
charArrayOf('P', 'Q', 'R', 'S', 'T'),
charArrayOf('U', 'V', 'W', 'X', 'Y')
)
val word = "KOTLIN"
val result = searchWord(wordSearch, word)
if (result != null) {
println("Word found at coordinates: (${result.startX}, ${result.startY}) to (${result.endX}, ${result.endY})")
} else {
println("Word not found.")
}
}
data class SearchResult(val startX: Int, val startY: Int, val endX: Int, val endY: Int)
fun searchWord(wordSearch: Array<CharArray>, word: String): SearchResult? {
val rows = wordSearch.size
val cols = wordSearch[0].size
for (i in 0 until rows) {
for (j in 0 until cols) {
if (wordSearch[i][j] == word[0]) {
// Check horizontally
if (j + word.length <= cols && wordSearch[i].slice(j until j + word.length).joinToString("") == word) {
return SearchResult(i, j, i, j + word.length - 1)
}
// Check vertically
val verticalWord = StringBuilder()
for (k in i until rows) {
verticalWord.append(wordSearch[k][j])
if (verticalWord.length > word.length) {
break
}
if (verticalWord.toString() == word) {
return SearchResult(i, j, k, j)
}
}
}
}
}
return null
}
Эта программа позволяет искать слово в двумерном массиве символов. Он ищет слово по горизонтали и вертикали и возвращает координаты начальной и конечной позиции слова, если оно найдено.