Итоги
В этом уроке вы узнали, что:
- Массив хранит несколько значений одного типа, свои элементы, под одним именем:
int scores[5] = {80, 92, 75, 60, 88};. В записиint scores[] = {80, 92, 75};компилятор сам считает элементы. Размер массива фиксирован и не может меняться. - У каждого элемента есть индекс, который отсчитывается от 0, так что последний индекс равен размеру − 1.
scores[0]читает первый элемент,scores[2] = 79;меняет третий. Элемент ведёт себя как переменная своего типа, поэтому работает иscores[1] += 5;. - Индекс может быть переменной, поэтому цикл
forможет пройти по всем элементам:for (int i = 0; i < count; i++), с<, а не<=. Вывести весь массив с помощьюprintfнельзя: выводите его по элементам в цикле. - Индекс за пределами массива — ошибка. Если это число в коде, программа не компилируется (
array index 5 is past the end of the array). Если это переменная, программа останавливается сRuntimeError: unreachable. Сам C индексы не проверяет. - Число элементов можно хранить в константе,
const int COUNT = 5;, или вычислять по массиву:int count = sizeof(scores) / sizeof(scores[0]);. Сsizeofциклы остаются верными при изменении массива. - Шаблоны работы с массивами: сумма (переменная, которая перед циклом равна 0,
+=в цикле, результат выводится после цикла), среднее ((double)total / count), подсчёт (счётчик с++внутриif) и наибольшее значение (начинайте с первого элемента, а не с 0, и храните ещё и индекс, если нужно знать, где оно находится). int squares[10];создаёт массив без значений, который можно заполнить циклом.int votes[4] = {0};задаёт всем элементам ноль. Массив нельзя присвоить или скопировать с помощью=: копируйте его по элементам.- У двумерного массива есть строки и столбцы:
int seats[3][4].seats[1][2]— элемент в строке с индексом 1 и столбце с индексом 2. Два вложенных цикла проходят по всем элементам.
После этого урока вас ждёт ещё один небольшой проект: неделя продаж лимонадного киоска. Затем в уроке о строках вы узнаете, что текст в C — тоже массив: массив символов. Но сначала потренируйтесь в том, что уже знаете, на температурах одной недели.
Задание
- 1
В массиве
temperaturesхранятся температуры одной недели. Вычислите среднюю температуру и выведите её с одним знаком после запятой:Среднее: 18.3. Число дней получите с помощьюsizeof. - 2
Найдите самый тёплый день. Выведите его номер, считая с 1, и его температуру:
Самый тёплый: день 5, 23 °C.