Здесь – маленькие «пустячки», облегчающие жизнь и являющиеся основой любой сущности. |
OCHEWIDNO.RU |
Главная | Найти хорошую работу | Похудеть до своего веса | Комплексы |
Быть умным | Быть красивым | Каких любят мужчины | Наслаждаться |
Уметь плавать | Вкусно готовь | Будь здоров | Философия жизни |
Экономика и финансы | Забытые заповеди | Наши детки | Разное |
При изменении ширины экрана (повороте мобильного) - страницу ПЕРЕГРУЗИТЬ!
5.07.21г.Kotlin длина массива неизвестнаКак быть, когда неизвестна длина массива? Условие задачи: В коде сторонней библиотеки обнаружился баг. Вместо отсортированного массива строк библиотека возвращает массив случайно упорядоченных строк. К счастью, в каждую строку в случайной позиции библиотека записывает порядковый индекс – позицию, где строка должна быть в выходном массиве, например, "str2ing". Ваша задача обработать баг библиотеки и написать функцию, которая: - извлечёт индекс из строки; - с помощью индекса расположит строку в нужной позиции. Возможное решение в Kotlin - пример: (алгоритм описан в комментах) import java.util.* import kotlin.io.* fun main () { // объявление сканнера val sc = Scanner(System.`in`) // объявляем массив с неизвестной заранее длиной var rou = arrayOf // объявление строковой перпеменной а с нулевым начальным значением var a: String = null.toString() // создание цикла для ввода строк при неизвестном заранее количестве итераций, // работающий до ввода Stop do { a = sc.next() rou += a }while (a != "Stop") // определение длины массива с учетом нулевой ячейки (минус 1) val n = rou.size -1 // объявляем пустой массив val array = arrayOfNulls // создаем цикл с длиной без ячейки со Stop for (i in 0..n-1) { // объявляем переменную х и присваиваем ей значение числа (отфильтровываем) var x = rou[i].filter { it.isDigit() } // объявляем переменную h и присваиваем ей значение НЕчисла (отфильтровываем) var h = rou[i].filterNot { it.isDigit() } // формируем (заданным образом) ячейку и заносим в массив array.set(x.toInt()-1, "$h") } // выводим циклом в консоль полученный результат for (i in array) println(i) } Подписки НЕТ!Поиск необходимой информации осуществляется в разделах Главного меню по ссылкам.Уважая чужой опыт, считаю ОБЯЗАТЕЛЬНЫМ наличие «Обратной связи»:Обратная связьПрава на материалы, размещенные на сайте, принадлежат Автору. Все права защищены и охраняются законом. При использовании материалов с сайта ссылка на него обязательна.
|