Массивы (Array) в Swift

Домашняя работа к главе 9

Массив — это один из наиболее важных представителей коллекции, который вы с большой долей вероятности будете использовать при реализации функционала любой программы. Массив (Array) — это упорядоченная коллекция однотипных элементов, для доступа к которым используются целочисленные индексы. Упорядоченной называется коллекция, в которой элементы располагаются в порядке, определенном разработчиком.

Задание 1

Какие из выражений не вызовут ошибок? Исправьте найденные ошибки.

var arr1 = [1,2,3,"4",5,6]
var arr2 = ["a","Z"]
var arr3 = [Character("a"), "b"]
var arr4 = [Character("a"), "zz"]
var arr5: [ClosedRange<Float>] = [1...3, 2.1...2.3]
Правильный ответ

1) Ошибка. Массив должен состоять из однотипных элементов
Исправлено: var arr1 = [1,2,3,4,5,6]
2) Корректно. Диапазон значений типа String
3) Корректно. Диапазон значений типа Character.
Обратите внимание, что по значению нижней границы диапазона будет правильно определено значение верхней границы (при том, что в ней не используется функция Character(_:)). Вы уже видели подобное в домашних заданиях предыдущей главы.
type(of: arr3[1]) // Character.Type
4) Ошибка. Массив должен состоять из однотипных элементов
Исправлено:
var arr4 = ["a", "zz"]
или
var arr4 = [Character("a"), "z"]
5) Корректно. Swift самостоятельно определит типы границ диапазонов в соответсвии с явно указанным типом ClosedRange<Float>.

Задание 2

Покажите все способы создания массива, состоящего из целочисленных элементов от 0 до 10

Правильный ответ

[1,2,3,4,5,6,7,8,9,10]
Array(1...10)
Array(arrayLiteral: 1,2,3,4,5,6,7,8,9,10)

Так же можно создать данный массив сложением двух других массивов
[1,2,3,4,5]+[6,7,8,9,10]

Задание 3

Покажите все известные вам способы создания массива, состоящего из пяти одинаковых значений

Правильный ответ

// С помощью литерала массива
[1,1,1,1,1]
// с помощью спецальных функций
Array(repeating: 1, count: 5)
Array(arrayLiteral: 1,1,1,1,1)

Задание 4

1)Создайте массив, состоящий из четырех целочисленных элементов

2)Сделайте так, чтобы вместо второго и третьего элементов массива (с индексами 1 и 2) был элемент, содержащий сумму начального и конечного элементов данного массива. После этого в массиве должно остаться 3 элемента.

3) Отсортируйте элементы по возрастанию

Правильный ответ

//1
var arr = [1,2,3,4]
//2
arr.remove(at: 1)
arr[1] = arr[0]+arr[2]
arr // [1, 5, 4]
//3
arr.sort() // [1, 4, 5]

Задание 5

1) Создайте массив, состоящий из всех целых чисел от 1 до 100

2) Создайте пустой массив типа Array<Int>

3) Проинициализируйте пустому массиву элементы с 25го по 50ый

Правильный ответ

//1
var arr = Array(1...100)
//2
var arr2: Array<Int> = []
// требуется преобразование ArraySlice в Array
// индекс 25го элемента - 24
arr2 = Array(arr[24...49])



Доступ закрыт

Дополнительные 5 заданий доступны только подписчикам

Оформить доступ


Комментарии закрыты.