Читайте также: |
|
Лабораторная работа № 5
Составление программ с использованием массивов
Цель работы: 1) изучить описание, ввод и вывод статических массивов на языке С++; 2) освоить обработку массивов с использованием вложенных циклов.
Теоретические сведения
Массив - это множество однотипных переменных, занимающих смежные ячейки памяти и обозначенных одним именем.
Одномерные массивы
Одномерный массив или вектор - это множество переменных, совместно использующих одно и то же имя (имя массива). В одномерном массиве доступ к отдельной переменной осуществляется по индексу (порядковому номеру).
Синтаксис для объявления одномерного массива:
тип_элемента_массива имя_массива [число_элементов];
Пример 5.1. Объявление одномерных массивов
int MyArr [10];
char Literal [31];
double x_arr [100];
При объявлении одномерных массивов в языке С++ необходимо соблюдение правил:
1) в объявлении массива указывается количество элементов;
2) индекс первого элемента массива равен 0. Это значение нельзя изменить или переопределить;
3) индекс последнего элемента определяется как количество элементов минус 1.
Доступ к элементам массива осуществляется через имя массива и индекс элемента, указываемый в квадратных скобках: a[1], b[25].
При работе с массивами рекомендуется проверять допустимость значения индекса массива. Допустимыми являются значения индексов в диапазоне от 0 до число_элементов – 1.
Ввод массива осуществляется с использованием цикла:
Пример 5.2. Ввод массива с клавиатуры.
...
int main ()
{ const int M=30;
double x[M];
...
for (int i=0; i< M; i++)
{ cout << "\n x[" << i << "]=";
cin >> x[i];
}
return 0;
}
Mожно организовать ввод массива, пользуясь генератором случайных чисел.
Пример 5.3. Ввод массива с помощью генератора случайных чисел.
#include <time.h>
time_t t;
srand(time(&t));
// инициализировать генератор случайных чисел
int x[M];
...
for (int i=0; i<M; i++)
x[i]=rand()%100;
Для инициализации массивов формируют список начальных значений, заключенных в фигурные скобки.
Пример 5.4. Инициализация одномерного массива
...
int main ()
{ const int M=10;
double x[M]= {12.2, 45.4, 67.2, 12.2, 34.6, 87.4, 83.6, 12.3, 14.8, 55.5};
...
}
Если начальных значений задано меньше, чем элементов в массиве, компилятор присвоит оставшимся элементам массива значение 0. Если количество начальных значений больше, чем число в квадратных скобках, компилятор выдаст сообщение об ошибке.
Точное число начальных значений можно не указывать, так как язык С++ позволяет задавать размер массива автоматически, используя количество элементов в соответствующем списке начальных значений. Следовательно, число в квадратных скобках при описании массива может отсутствовать. В этом случае размер массива определит компилятор, например, double x[ ]= {1,2,3};
Контрольные вопросы
1. Позволяет ли С++ изменять размер массива?
2. Необходимо ли использовать для массивов только предопределенные типы?
3. Укажите, допустимы ли объявления:
int hats [3]= {10,20,30};
int caps [ ] = {5,7,9}
Варианты заданий
Дата добавления: 2015-07-11; просмотров: 151 | Нарушение авторских прав