Массивы
Двумерные и многомерные массивы
Двумерные массивы
Многомерные массивы
735.50K
Категория: ПрограммированиеПрограммирование

Массивы. (Лекция 7)

1.

Лекция 7
Массивы
1

2. Массивы

Массив — это структура данных, представляющая собой набор
переменных одинакового типа, имеющих общее имя
Массивы удобно использовать для хранения однородной по своей
природе информации, например, таблиц и списков и т.п.
2

3. Двумерные и многомерные массивы

Множество практических задач требует хранения информации в виде
прямоугольных таблиц.
Если вся таблица содержит однотипные данные, то такая таблица
может быть представлена как двумерный массив.
3

4. Двумерные массивы

Oбъявление массива в разделе var
имя: array [нач_индекс1 .. кон_индекс1, нач_индекс2 .. конечный_индекс2] of тип
Пример объявления двумерного массива:
var
table
: array[0..99,1..12] of integer;
Пример обращения к отдельному элементу двумерного массива:
table[0,5] := table[99,5];
Для последовательной обработки всех элементов массива чаще всего
используется вложенный цикл с параметром.
Пример: фрагмент программы суммирования элементов массива
sum :=0;
for i := 0 to 99 do
for j := 1 to 12 do
sum := sum + table[i,j];
4

5. Многомерные массивы

Нередко на практике требуются трехмерные массивы, а иногда даже четырех- и
более мерные массивы.
Пример объявления четырехмерного массива:
table4 : array[1..200,1..2,1..5,1..6] of integer;
{данные о числе пропущенных занятий для 200 студентов
за 2 семестра 5 курсов 6 факультетов}
Пример: фрагмент программы суммирования элементов массива
sum :=0;
for i := 1 to 200 do
for j := 1 to 2 do
for k := 1 to 5 do
for n := 1 to 6 do
sum := sum + table4[i,j,k,n];
5

6.

Компоненты Delphi для работы с двумерными
массивами
Класс TStringGrid (вкладка Additional)
Объекты этого класса
предназначены для
работы с двумерным
массивом (таблицей)
строковых данных
Нумерация строк и
столбцов таблицы
начинается с нуля
6

7.

Основные свойства компонентов класса TStringGrid
Свойство
Тип
Пояснение
Cells
Array [0..n, 0..m] of
String
Двумерный массив строк,
пронумерованный с нуля
FixedCols
Integer
Количество фиксированных
(серых) столбцов
FixedRows
Integer
Количество фиксированных строк
Options.
goEditing
Boolean
Возможность редактирования
содержимого таблицы
пользователем
ColCount
Integer
Количество столбцов
RowCount
Integer
Количество строк
Примечание
Первый индекс –
столбец, второй –
строка
Редко
используются в
программах,
обычно задаются с
помощью
инспектора
объектов
7

8.

Пример 1: заполнение таблицы случайными числами в интервале от 0 до 20
for i:=0 to StringGrid1.ColCount-1 do
for j:=0 to StringGrid1.RowCount-1 do
StringGrid1.Cells[i,j]:=IntToStr(random(21));
Пример 2: вычисление суммы третьего столбца таблицы
sum :=0;
for i := 0 to StringGrid1.RowCount-1 do
sum := sum + StringGrid1.Cells[3,i];
Пример 3: вычисление наибольшего элемента седьмой строки таблицы
max:= StrToInt(StringGrid1.Cells[0,j]);
for i:=1 to StringGrid1.ColCount-1 do
if StrToInt(StringGrid1.Cells[i,j])>max
then max:= StrToInt(StringGrid1.Cells[i,7]);
8

9.

1. Найти сумму двух массивов размерностью 5*5.
2. Найти разность двух массивов размерностью 7*7
3. Массив размерностью 5*4 умножить на 4
4. Массив размерностью 9*8 поделить на 3
5. Найти максимальный элемент в двумерном массиве
6. Найти минимальный элемент в двумерном массиве
7. Найти сумму всех четных чисел в двумерном массиве и вывести
8. Найти произведение всех кратных 3 чисел в двумерном массиве
и вывести на экран
English     Русский Правила