Пример

int a[100];

b[100][100];

Описан массив а, состоящий из 100 чисел целого типа и двумерный массив b, состоящий из 100 строк и 100 столбцов.

В С++ для ввода и вывода массивов используется компонент StringGrid, поэтому работа с массивами в С++ сильно отличается от работы в Pascal и Basic [2].

1) В двумерных массивах первый индекс обозначает номер столбца, второй – номер строки.

2) В С++ принято, что нумерация элементов начинается с нуля. Например, А(0,1) – первый столбец, вторая строка.

В компоненте StringGrid все элементы хранятся в свойстве cells. Свойство cells имеет тип String, поэтому при вводе элементов массива необходимо использовать команды StrToInt, FloatToInt, а при выводе - IntToStr, FloatToStr, FloatToStrF.

В компоненте StringGrid есть свойства FixedCols и FixedRows – фиксированные столбцы и строки. По умолчанию значение этих свойств =1. При работе с массивами их необходимо обнулять.

Примечание.

1) Количество строк и столбцов в StringGrid задаются в свойствах RowCount и ColCount.

2) Использование фиксированных строк и столбцов при работе не рекомендуется, т.к. в них нельзя вводить данные во время работы программы.

3) По умолчанию в компоненте StringGrid данные вводить нельзя. Чтобы снять запрет, выбирается свойство Options -> GoEditing -> True.

 

Пример 1. Заполнить двумерный массив а(размерности n*n) случайным образом. Вывести его на экран. Получит сумму диагональных элементов.

1. Поместите на форму объекты: Edit1, Label1, Label2, Button1, Button2, StringGrid.

2. Присвойте объектам свойства согласно таблице:

Свойства Объект Значение
Text Edit1  
Caption Label1 N=
Caption Label2 S=
Option StringGrid1 GoEditing
Caption Button1 Выполнить
Caption Button2 Выход

 

3. Дважды щёлкнув по кнопке “Выход”, впишите в место, где мигает курсор Close();

4. Дважды щёлкнув по кнопке “Выход”, впишите следующий код:

 

 

5. Сохраните проект в папке и выполните его при N=3.

 

 

Пример 2. Упорядочить по возрастанию массив целых чисел а1,…,аn, используя алгоритм сортировки выбором [3].

1. Поместите на форму объекты: Edit1, Edit2, Edit3 Label1, Label2, Label3, Button1, Button2.

2. Присвойте объектам свойства согласно таблице:

Объект Свойства Значение
Edit1 Text  
Edit2 Text  
Edit3 Text  
Label1 Caption Введите количество элементов массива
Label2 Caption Случайные целые числа
Label3 Caption Сортировка по убыванию
Button1 Caption Выполнить
Button2 Caption Выход

 

3. Дважды щёлкнув по кнопке “Выход”, впишите в место, где мигает курсор Close();

4. Дважды щёлкнув по кнопке “Выход”, впишите следующий код:

 

 

5. Сохраните проект в папке и выполните его.

 

Результат выполнения программы:

 

 

Контрольные вопросы

1. Что такое массив данных?

2. Как и где описываются массивы?

3. Как осуществляется доступ к элементам массива?

4. Какие компоненты удобно применять при работе с одномерными, двумерными массивами?

5. Как в С++ осуществляется ввод и вывод элементов массива?

6. Что следует сделать, чтобы было можно вводить данные StringGrid?

7. Как используется свойство cells компонента StringGrid?