Структуры данных: массивы (Kotlin): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
(Новая страница: «{{TOCRight}} == Массивы == * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/ Класс Массив (справка Kotlin)] * [https://metan...»)
 
 
(не показаны 4 промежуточные версии этого же участника)
Строка 6: Строка 6:
 
== Задачи ==
 
== Задачи ==
 
=== Вывод всех целых чисел массива через пробел циклом For ===
 
=== Вывод всех целых чисел массива через пробел циклом For ===
 +
<syntaxhighlight lang="Kotlin" line>
 +
fun main() {
 +
    val numbers: Array<Int> = arrayOf(1, 5, 8, 3, 9, 23, 15)
 +
 +
    for(number in numbers){
 +
        print("$number ")
 +
    }
 +
    println()
 +
 +
    for(i in numbers.indices) {
 +
        print(numbers[i])
 +
        print(" ")
 +
    }
 +
    println()
 +
}
 +
</syntaxhighlight>
 +
 
=== Сделать массив из первых n нечётных чисел ===
 
=== Сделать массив из первых n нечётных чисел ===
 
<syntaxhighlight lang="Kotlin" line>
 
<syntaxhighlight lang="Kotlin" line>
 +
fun main() {
 +
    var i = 1;
 +
    val numbers = Array(10) { i++ * 2 - 1 }
  
 +
    for(number in numbers){
 +
        print("$number ")
 +
    }
 +
    println()
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== Сгенерировать массив случайных чисел ===
 
=== Сгенерировать массив случайных чисел ===
 
<syntaxhighlight lang="Kotlin" line>
 
<syntaxhighlight lang="Kotlin" line>
 +
import kotlin.random.Random
 +
 +
fun main() {
 +
    val numbers = Array(10) { Random.nextInt(-100, 100) }
  
 +
    for(number in numbers){
 +
        print("$number ")
 +
    }
 +
    println()
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество ===
 
=== Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество ===
 
<syntaxhighlight lang="Kotlin" line>
 
<syntaxhighlight lang="Kotlin" line>
 +
import kotlin.random.Random
 +
 +
fun main() {
 +
    val numbers = Array(10) { Random.nextInt(-100, 100) }
  
 +
    for(number in numbers){
 +
        print("$number ")
 +
    }
 +
    println()
 +
 +
    var count = 0
 +
    for(number in numbers){
 +
        if (number < 0) {
 +
            print("$number ")
 +
            count++
 +
        }
 +
    }
 +
    println()
 +
   
 +
    println("Odd numbers count = $count")
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== Разделить массив на два: на положительные+ноль и отрицательные числа ===
 
=== Разделить массив на два: на положительные+ноль и отрицательные числа ===
 
<syntaxhighlight lang="Kotlin" line>
 
<syntaxhighlight lang="Kotlin" line>
 +
import kotlin.random.Random
 +
 +
fun main() {
 +
    val numbers = Array(10) { Random.nextInt(-100, 100) }
 +
    val pos = Array(10) { 0 }
 +
    var posIndex=  0
 +
    val neg = Array(10) { 0 }
 +
    var negIndex=  0
 +
 +
    for(number in numbers){
 +
        print("$number ")
 +
 +
        if (number >= 0) {
 +
            pos[posIndex] = number;
 +
            posIndex++;
 +
        }
 +
        else {
 +
            neg[negIndex] = number;
 +
            negIndex++;
 +
        }
 +
    }
 +
    println()
 +
 +
    for(i in 0..posIndex-1) {
 +
        print(pos[i])
 +
        print(" ");
 +
    }
 +
    println()
  
 +
    for(i in 0 until negIndex) {
 +
        print(neg[i])
 +
        print(" ");
 +
    }
 +
    println()
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Текущая версия на 13:23, 6 июля 2021

Массивы

Задачи

Вывод всех целых чисел массива через пробел циклом For

 1 fun main() {
 2     val numbers: Array<Int> = arrayOf(1, 5, 8, 3, 9, 23, 15)
 3 
 4     for(number in numbers){
 5         print("$number ")
 6     }
 7     println()
 8 
 9     for(i in numbers.indices) {
10         print(numbers[i])
11         print(" ")
12     }
13     println()
14 }

Сделать массив из первых n нечётных чисел

1 fun main() {
2     var i = 1;
3     val numbers = Array(10) { i++ * 2 - 1 }
4 
5     for(number in numbers){
6         print("$number ")
7     }
8     println()
9 }

Сгенерировать массив случайных чисел

 1 import kotlin.random.Random
 2 
 3 fun main() {
 4     val numbers = Array(10) { Random.nextInt(-100, 100) }
 5 
 6     for(number in numbers){
 7         print("$number ")
 8     }
 9     println()
10 }

Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество

 1 import kotlin.random.Random
 2 
 3 fun main() {
 4     val numbers = Array(10) { Random.nextInt(-100, 100) }
 5 
 6     for(number in numbers){
 7         print("$number ")
 8     }
 9     println()
10 
11     var count = 0
12     for(number in numbers){
13         if (number < 0) {
14             print("$number ")
15             count++
16         }
17     }
18     println()
19     
20     println("Odd numbers count = $count")
21 }

Разделить массив на два: на положительные+ноль и отрицательные числа

 1 import kotlin.random.Random
 2 
 3 fun main() {
 4     val numbers = Array(10) { Random.nextInt(-100, 100) }
 5     val pos = Array(10) { 0 }
 6     var posIndex=  0
 7     val neg = Array(10) { 0 }
 8     var negIndex=  0
 9 
10     for(number in numbers){
11         print("$number ")
12 
13         if (number >= 0) {
14             pos[posIndex] = number;
15             posIndex++;
16         }
17         else {
18             neg[negIndex] = number;
19             negIndex++;
20         }
21     }
22     println()
23 
24     for(i in 0..posIndex-1) {
25         print(pos[i])
26         print(" ");
27     }
28     println()
29 
30     for(i in 0 until negIndex) {
31         print(neg[i])
32         print(" ");
33     }
34     println()
35 }

Задачник