русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ввод массива


Дата добавления: 2013-12-23; просмотров: 986; Нарушение авторских прав


Var

Понятие двухмерного массива и их объявление в Паскале

Из нескольких одномерных массивов одной длины можно "соорудить" двухмерный массив. На рисунке 2 изображен массив, состоящий из 3-х строк и 4-х столбцов (часто просто говорят: двухмерный массив 3 на 4). В двухмерных массивах каждая ячейка имеет два индекса: строка и столбец.

   

 

A = 1 2 3
  Рисунок 2  

Элементы данного двухмерного массива А записываются так:

А(1,1), А(1,2), А(1,3), А(1,4), А(2,1),..., А(2,4), А(3,1),..., А(3,4)

Например элемент А(2,4) = 3, а элемент А(3, 2) = 7.

Значения элементов этого массива таковы:

А(1,1) = 8 А(1,2) = 7 А(1,3) = 2 А(1,4) = 13
А(2,1) = 5 А(2,2) = 1 А(2,3) = 0 А(2,4) = 3
А(3,1) = 8 А(3,2) = 7 А(3,3) = 9 А(3,4) = 15

Действия над элементами двухмерного массива осуществляются аналогично действиям над элементами одномерного массива:

А(1,2) + А(2,3) = 7 + 0 = 7

При работе с двухмерными массивами (так же как и при работе с одномерными массивами) возникает необходимость в отведении места памяти компьютера под массив (говорят о резервировании памяти под массив). Для этого также используется описание следующего вида:

 

const
m = 10; {число строк}

n = 15; {число столбцов}

A : array[1..m,1..n] of Integer;

При решении задач удобно изображать массив в виде соответствующей алгебраической матрицы:

А(1,1) А(1,2) А(1,3) А(1,4) ... А(1,М)
А(2,1) А(2,2) А(2,3) А(2,4) ... А(2,М)
... ... ... ... ... ...
А(N,1) А(N,2) А(N,3) А(N,4) ... А(N,М)

где N - это количество строк, M - это количество столбцов



Ввод элементов двумерного массива осуществляется поэлементно, как и в случае одномерного массива. Для решения задачи ввода изобразим массив в виде матрицы:

перемещение по строкам (цикл по переменной I) перемещение вдоль строки (цикл по переменной J)
А(1,1) А(1,2) А(1,3) А(1,4) ... А(1,М)
А(2,1) А(2,2) А(2,3) А(2,4) ... А(2,М)
... ... ... ... ... ...
А(N,1) А(N,2) А(N,3) А(N,4) ... А(N,М)

 

Зададим с помощью двух циклов перебор всех элементов массива. Один цикл (по переменной I) будет осуществлять перебор строк, другой (по переменной J) перебор элементов в строке. В качестве значения элемента будем записывать сумму номера строки и номера столбца элемента в массиве:

const
m = 10; {число строк}

n = 15; {число столбцов}

var

A : array[1..m,1..n] of Integer; {Объявление двумерного массива}

Begin

for I:=1 to N do {Цикл по строкам. От 1 до максимального номера строки}

for J:=1 to M do {Цикл по столбцам. От 1 до максимального номера столбца}

A(I,J):= i+j; {Запись в элемент значения}

End.

Как видно цикл по J находится внутри цикла по I (они так и называются внутренний и внешний), поэтому на один шаг "сработает" цикл по I, затем полностью цикл по J, снова на один шаг цикл I и опять полностью цикл по J и т.д. Таким образом выбирается строка 1 и начинается перемещение вдоль этой строки (по столбцам). Далее выбирается строка 2 и начинается ввод всех ее элементов и т.д., т.е. обработка элементов массива осуществляется по строкам. Если же циклы поменять местами, т.е. цикл по J сделать внешним, а цикл по I - внутренним обработка массива будет происходить по столбцам.



<== предыдущая лекция | следующая лекция ==>
Вывод массива | Примеры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.