Описание одномерного массива
На языке С++ описание одномерного массива задается следующим образом:
<тип элементов> <имя массива>[размер];
Компилятор отводит под массив память размером (sizeof(тип)*размер) байтов.
При описании массива можно задать начальные значения его элементов:
int dat[4]={5,8,-2,11};
float kom[]={3.5,6,-1.1};
Указатели могут обеспечить простой способ ссылок на массив. Имя массива фактически является константой-указателем, ссылающимся на начальный адрес данных (адрес первого элемента массива). Начальный адрес массива определяет компилятор в момент описания массива, и такой адрес не может быть переопределен. Первый элемент массива имеет индекс ноль.
Например:
int Ar[5];
printf ("адрес Ar=%x\n",Ar);
printf ("адрес Ar=%x\n",&Ar[0]);
В приведенном фрагменте обе функции printf выводят адрес массива Ar, т.к. выражения Ar и &Ar[0] эквивалентны.
Индексированные переменные
Выбор отдельного элемента из массива осуществляется с помощью индексированной переменной, которая задается следующим образом:
x[i] - индексированная переменная (элемент массива).
Здесь x - имя массива;
i - индекс (номер элемента массива).
В качестве индекса используются:
• целые константы, например х[2] х2;
• целые переменные, например х[к] хk;
• индексные выражения, например х[2*n+1] x2n+1.
В языке С++ индексы элементов любого массива начинаются с нуля. Индексными выражениями являются арифметические выражения целого типа.
Переменная с индексом может стоять в левой части оператора присваивания, например:
х[3]=2.5;
Ввод-вывод одномерных массивов
Ввод-вывод массивов осуществляется поэлементно с помощью операторов scanf и printf соответственно и оператора цикла for..., в котором в качестве параметра используется индекс.
Пример 1. Организовать ввод с клавиатуры массива:
A = (1.2, 5, -6.8, 14).
Необходимо описать массив и индекс.
int main()
{ float A[4] ;
int i;
В программе ввод массива рекомендуется организовать в виде диалога, поместив перед оператором ввода оператор вывода (printf), которым выдается на экран поясняющее сообщение, например:
printf("Введите массив А\n");
for( i = 0; i<4; i++)
scanf("%f",&A[i]);
На клавиатуре через один или несколько пробелов набираются элементы массива и нажимается клавиша [Enter]:
1.2 5 -6.8 14 [Enter]
Замечание.Элементы массива можно вводить в «столбик», если после ввода каждого элемента нажимать клавишу [Enter].
Пример 2. Организовать вывод массива А на экран таким образом, чтобы все элементы располагались на одной строке экрана.
В программе надо записать следующие операторы:
for ( i = 0; i<4; i++)
printf("%5.2f ",A[i]);
printf("\n");
Вид выводимого массива на экране:
1.2 5.0 -6.8 14.0
Оператор printf("\n"); без списка служит для перевода курсора к началу следующей строки экрана.