Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Обращение к элементам массиваСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Для обращения к любому элементу массива используется имя массива и порядковый номер элемента, указывающий его относительную позицию среди остальных элементов. Этот номер называется индексом; индекс записывается в квадратных скобках. Индексация элементов массива в языке Си начинается с нуля, т.е. индекс изменяется от 0 до N-1, где N – количество элементов массива. int a[10]; его отдельные элементы обозначаются: а[0], а[1],..., а[9] То есть, к любому элементу массива можно обратиться, указав его имя и в квадратных скобках индекс элемента. Например: a[4], b[0], d[8+1]. Такие отдельные элементы массива в программе можно использовать как обычные переменные. int i=5; Ввод/вывод массива Поскольку массив - это целый агрегат данных, ввести его как простую переменную невозможно. Элементы массива вводятся по одному. float s[4]; его можно ввести с помощью четырех функций scanf: scanf("%f", &s[0]); или с помощью одной такой функции: scanf("%f%f%f%f", &s[0],&s[1],&s[2],&s[3]); Однако в реальных задачах, как правило, массивы гораздо больше, поэтому их вводят с использованием оператора цикла. Предварительно нужно определить реальное количество элементов массива, с которым будет работать программа. int A[100]; Количество элементов 100 указано с запасом; программа же может работать с массивом, состоящим из двух, восьми, пятидесяти и вообще любого числа элементов, меньше или равного 100. Поэтому предварительно следует описать переменную целого типа, например n - фактическое число элементов, и ввести это значение. Опишем также переменную i - параметр цикла: int n,i; Теперь можно и организовать цикл для ввода массива. С массивом удобнее всего использовать оператор цикла с параметром (как вы думаете, почему?): for(i=0; i<n; i++) Теперь разберем, как подавать числа для ввода массива. Мы помним, что разделителем при вводе значений с клавиатуры является пробел. В принципе все значения можно ввести "в строку" через пробел: 9 8 7 6 5 4 3 2 Программа будет брать их по одному из входного потока каждый раз, когда встречает функцию scanf. Но такой ввод выглядит некрасиво (попробуйте, убедитесь сами!). Удобнее при вводе очередного элемента сначала выводить текст подсказки с предложением ввести элемент, а затем вводить элементы по одному, каждый раз нажимая клавишу Enter. for(i = 0; i < n; i++) Соберем теперь все вместе. Наша следующая небольшая программа сначала запрашивает число элементов массива, затем вводит их по одному значению и выводит на экран: Протокол работы программы: Вопросы для самопроверки 1. Как дать описание массива в программе? 2. Задания для самостоятельной работы к уроку 13 3. Во всех заданиях следует составить программу на языке Си. 1. В примере урока 13 на экран выводятся элементы массива вместе с их индексом. Как изменить текст подсказки, чтобы программа предлагала вводить номер элемента. Рекомендуемый вид экрана во время работы программы приведен ниже. 4. Введите элемент A[0] 5. 2. Дать описание массива A. Ввести массив. Вывести элементы массива в обратном порядке (указание: использовать цикл с убывающим значением параметра). 3. Дать описание двух массивов A и B. Ввести массивы последовательно, один за другим. Вывести элементы массивов в виде таблицы, чередуя их элементы между собой. Рекомендуемый вид результата работы программы приведен ниже. 6. i A[i] B[i] 7. 4. Написать программу, которая вычисляет площадь треугольника по формуле Герона. Длины сторон занести в массив. Урок 14. Действия с массивами Инициализация массива 10. При определении массивов возможна их инициализация, т. е. присваивание начальных значений их элементам. Начальные значения записываются в фигурных скобках после описания массива и следующего далее знака равенства. 11. float a[10] = {0, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9}; 12. Для массива a количество ячеек указано явно (в квадратных скобках). У массива b в квадратных скобках ничего нет, но компилятор Си допускает такое описание. Длину массива во втором случае компилятор вычисляет по количеству начальных значений, перечисленных при инициализации. После такого определения элемент Действия с массивами 14. Для работы с массивами имеется множество алгоритмов. Некоторые из них похожи на те, что мы разбирали в задачах на последовательности (тема 8, урок 11). Это наиболее простые алгоритмы, и прежде чем перейти к более сложным задачам на массивы, рекомендуем хорошенько их освоить. 15. #include<stdio.h>
16.
17. Алгоритмы под номерами 2, 3, и 4 реализуются с помощью сочетания цикла и разветвления. Алгоритм 2 (нахождение максимального элемента последовательности) был уже нами рассмотрен в Уроке 11, здесь мы приведем фрагмент кода, реализующий этот алгоритм для массива (опуская описание и ввод массива). 18. float M; // M - ячейка для максимального элемента массива 19. Часто в задачах, кроме самого максимального элемента, используется и его порядковый номер в массиве, то есть его индекс. Для реализации Алгоритма 3 будем использовать предыдущий алгоритм, но добавим еще одну ячейку - для сохранения индекса. Точно так же будем искать максимальный элемент и одновременно запоминать его номер. 20. float M; // M - ячейка для максимального элемента массива 21. В качестве демонстрации Алгоритма 4 рассмотрим простое условие. Допустим, массив заполнен положительными и отрицательными числами. Подсчитаем количество положительных элементов этого массива. 22. int k; // k - счетчик количества положительных элементов массива, целое число
23.Начало формы 24.Конец формы
Алгоритмы с массивами Ниже приведен ряд примеров, демонстрирующих разновидности базовых алгоритмов. Чтобы решить эти задачи, надо буквально по шагам сделать то, что предназначено для компьютера. Будьте очень внимательны к значениям переменных, а также параметра цикла. Прежде чем заглянуть в проверку, попытайтесь сформулировать своими словами, что за работу выполняет этот алгоритм.
|
|||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-07; просмотров: 2206; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.6.176 (0.015 с.) |