ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Ввод значений в массивПосле того как вы определили массив, в него можно вводить информацию. Начальные значения элементам массива можно присвоить при его определении: int temps[5] = {45, 56, 12, 98, 12};Таким образом, мы создали пять элементов, имеющих следующие значения: temps[0] 45temps[1] 56temps[2] 12temps[3] 98temps[4] 12Для инициализации подобного массива используется соответствующая инструкция перед main(). Подобная инициализация возможна и внутри main(), или другой функции, но в этом случае массив должен быть описан как статический: int temps[5] = {45, 56, 12, 98, 12};main() { static float prices[3] = {23.45, 34.56, 12.34};Отдельным элементам массива можно присваивать значения внутри main() или другой функции, как в инструкции temps[0] = 45;Если вы хотите присвоить значение каждому элементу массива, вы можете использовать цикл для ускорения процедуры. В том случае, когда число элементов известно заранее, используйте цикл for: main() { int temps[31]; int index; for (index = 0; index 31; index++) { printf("Введите значение температуры #%d: ", index); scanf("%d", &temp[index]); } }Переменная index использована здесь для того, чтобы определить количество повторений цикла. В нашем случае цикл будет выполнен 31 раз, по одному на каждый элемент массива. При каждом повторе цикла на экране будет появляться подсказка: Введите значение температуры #Nгде N отображает индекс элемента, которому присваивается значение. Обратите внимание, что количество повторов определяется увеличением значения переменной index от 0 до 30, а не до 31, поэтому данное значение может использоваться одновременно и как индекс для определения номера текущего элемента массива (которые пронумерованы от 0 до 30). Когда переменная index имеет значение 0, элемент temps[index] на самом деле является элементом temps[0]. Таким образом, значение, которое мы вводим в элемент temps[index] с помощью функции scanf(), присваивается первому элементу с именем temps[0]. С очередным выполнением цикла for значение переменной index возрастает, и при следующих повторах функция scanf() вводит значение в новые элементы массива. Этот процесс проиллюстрирован в табл.1. Таблица 1. Использование цикла для увеличения индекса массива. Очень важно, чтобы вы поняли различия между значением индекса переменной, записанным в квадратных скобках, и значением элемента массива как таковым. Индекс только указывает на позицию, которую элемент занимает в массиве, но не имеет никакого отношения к значению самого элемента. Посмотрите на рис. 3. Индекс элемента имеет значение 0, а переменная temps[0] равна 75. Как мы уже поясняли это на примере очереди перед кинотеатром, значение индекса переменной не связано со значением переменной. Содержимое следующей переменной temps[1] может быть больше, меньше или равно значению переменной temps[0]. В том случае, когда значение элементу массива не было присвоено, он так же, как и любая переменная, будет иметь своим значением некий «мусор». Можно быстро инициализировать целочисленный массив, если в цикле присвоить его элементам нулевые начальные значения: for (index = 0; index < 31; index++) temps[index] = 0;Используя массив, можно ввести любое количество элементов, внеся соответствующие изменения в определение массива и условие цикла. Работа с массивами Элемент массива можно использовать в любых инструкциях, где используется переменная: в процедурах ввода, вывода и в выражениях. К элементу массива всегда обращаются через его индекс. Значения, хранящиеся в массиве, можно использовать везде, где это может потребоваться в программе. Например, в Листинге 1 приведен текст программы, в которой массив используется при выполнении двух различных задач. Во-первых, по элементам массива вычисляется среднее арифметическое значение, во-вторых, массив используется для перевода значений температуры из шкалы Фаренгейта в шкалу Цельсия. Каждый раз, когда массив участвует в цикле for, значение переменной index возрастает от 0 до индекса последнего элемента массива. Не нашли, что искали? Воспользуйтесь поиском:
|