Массив — это один из наиболее важных представителей коллекции, который вы с большой долей вероятности будете использовать при реализации функционала любой программы. Массив (Array) — это упорядоченная коллекция однотипных элементов, для доступа к которым используются целочисленные индексы. Упорядоченной называется коллекция, в которой элементы располагаются в порядке, определенном разработчиком.
Какие из выражений не вызовут ошибок? Исправьте найденные ошибки.
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>
.
Покажите все способы создания массива, состоящего из целочисленных элементов от 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]
Покажите все известные вам способы создания массива, состоящего из пяти одинаковых значений
// С помощью литерала массива [1,1,1,1,1] // с помощью спецальных функций Array(repeating: 1, count: 5) Array(arrayLiteral: 1,1,1,1,1)
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]
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 Comments
В четвертом задании получилось такое решение:
//1
var array = [1,2,3,4]
//2
var arraySum = array[0] + array[3] // 5
array.removeSubrange(1…2) // [1, 4]
array.insert(arraySum, at: 1) // [1, 5, 4]
//3
array.sort() // [1, 4, 5]
Довольно сложным путем пошел 🙂
Будет ли это считаться правильным решением?
Доброго дня. Простите, Задание 9, при написанном в задании коде выводит ошибку, а не символ «а».
4 строка удаляет второй массив из трех элементов [«d», «e», «f»]
5 строка удаляет оставшийся массив [«a», «b», «c»]
при попытки вывода print с индексом [0] получаем ошибку, убрав индекс получаем вывод пустого массива, уже без ошибок
В 7 задании нет ответа на вопрос «Может ли описанный вами синтаксис привести к ошибке? Если да, то в каком случае?» Как я понимаю ошибка будет, если в массиве один элемент, т.е. предпоследнего просто не будет существовать.
Добрый день, в тесте по этой теме (платная версия 6 издания) ошибка:
let friends = [«Alex»,»Anton»,»Jane»]
print(friend[1])
Правильный ответ должен быть: Выдаст ошибку при компиляции кода. В тесте стоит правильный ответ «Anton»
P.S С большим удовольствием решаю задания в тестах и практике по 6 изданию (хоть и читаю 5е :)) Спасибо за Ваш труд !
Я решил задачу 4 вот так.
var ExFour = [1,2,3,4]
ExFour[1…2] = [5]
ExFour.sort()
ExFour