Массив – конечная последовательность данных одного типа. Массив – объект сложного типа, каждый элемент которого определяется именем (ID) и целочисленным значением индекса (номера), по которому к элементу массива производится доступ. Рассмотрим одномерные массивы.
Внимание! Индексы массивов в языке С/С++ начинаются с 0.
В программе одномерный массив декларируется следующим образом:
тип ID массива [ размер ];
где размер – указывает количество элементов в массиве. Размер массива может задаваться константой или константным выражением. Для использования массивов переменного размера существует отдельный механизм – динамическое выделение памяти.
Примеры декларации массивов:
int a [5];
double b [4] = {1.5, 2.5, 3.75};
в целочисленном массиве а первый элемент а [0], второй – а [1], …, пятый – а [4]. Для массива b, состоящего из действительных чисел, выполнена инициализация, причем элементы массива получат следующие значения: b [0]=1.5, b [1]=2.5, b [2]=3.75, b [3]=0.
В языке С/С++ не проверяется выход индекса за пределы массива. Корректность использования индексов элементов массива должен контролировать программист.
Примеры описания массивов:
const Nmax=10; – задание максимального значения;
typedef double mas1[Nmax*2]; – описание типа одномерного массива;
mas1 a; – декларация массива а типа mas1;
int ss [10]; – массив из десяти целых чисел.
Элементы массивов могут использоваться в выражениях так же, как и обычные переменные, например:
f = 2* a [3] + a [ Ss [ i ] + 1]*3;
a [ n ] = 1 + sqrt(fabs(a [ n –1]));
Создание оконного приложения
Компонента StringGrid
При работе с массивами ввод и вывод значений обычно организуется с использованием компоненты StringGrid, предназначенной для отображения информации в виде двухмерной таблицы, каждая ячейка которой представляет собой окно однострочного редактора (аналогично окну Edit). Доступ к информации осуществляется с помощью элемента Cells [ ACol ][ ARow ] типа AnsiString, где целочисленные значения ACol, A Row указывают позицию элемента.
Внимание! Первый индекс ACol определяет номер столбца, а второй A Row – номер строки в отличие от индексов массива.
В инспекторе объектов значения ColCount и RowCount устанавливают начальные значения количества столбцов и строк в таблице, а FixedCols и FixedRows задают количество столбцов и строк фиксированной зоны. Фиксированная зона выделена другим цветом и обычно используется для надписей.
Пример выполнения задания
Удалить из массива А размером N, состоящего из целых чисел (положительных и отрицательных), все отрицательные числа. Новый массив не создавать. Для заполнения массива использовать фунцию random (kod) – генератор случайных равномерно распределенных целых чисел от 0 до (int) kod.
Пример создания оконного приложения
Значение N вводить из Edit, значения массива А – из компоненты StringGrid. Результат вывести в компоненту StringGrid.
Панель диалога и результаты выполнения программы приведена на рис. 5.1.

Рис. 5.1






