русс | укр

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

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

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

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


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

Описание. Работа с элементами


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


 

Двухмерные массивы можно представить в виде пря­моугольной таблицы или матрицы.

Рассмотрим матрицу А размерностью 2х3 (состоя­щую из двух строк по три элемента в каждой):

a11 a12 a13

A=

a21 a22 a23

Положение каждого элемента определяется двумя числами: номером строки, в которой находится элемент, и номером столбца. Например, а12 − это элемент, сто­ящий в первой строке и во втором столбце.

Имеется несколько способов объявления двухмерных массивов.

Способ 1. В Паскале двухмерный массив можно опи­сать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, при­веденной выше:

Const n=2; m=3;

Type omyarray=Array[1..m] Of real;

dmyarray=Array[1..n] Of omyarray;

Var v: omyarray;

a: dmyarray;

В данном случае переменная v объявлена как одно­мерный массив из трех элементов вещественного типа. Переменная а описана как двухмерный массив из двух строк, в каждой по три элемента.

Способ 2. Описание массива А можно сократить, исключив определение типа omyarray в определении типа dmyarray:

Const n=2; m=3;

Type dmyarray=Array[1..n] Of Array[1..m]

Of <тип элементов>;

Var a: dmyarray;

Способ 3. Еще более краткое описание массива А можно получить, указывая диапазоны изменения индек­сов для каждой размерности массива:

Const n=2; m=3;

Type dmyarray=Array[1..n, 1..m]

Of <тип элементов>;

Var a: dmyarray;

Если нет необходимости описывать тип, то мож­но просто объявить массив в разделе описания пе­ременных:

Var a: Array[1..n,1..m]

Of <тип элементов>;

Рассмотренные выше методы решения задач обра­ботки одномерных массивов могут применяться и для обработки двухмерных массивов. Поскольку положение элемента в двухмерном массиве описывается двумя индексами (первый − номер строки, второй − номер столбца), программы для решения большинства матрич­ных задач строятся на основе вложенных циклов. Обыч­но внешний цикл организуется по строкам матрицы, то есть в нем выбирается требуемая строка матрицы, а внут­ренний цикл − по столбцам матрицы, в нем выбирает­ся элемент строки. Для присваивания значений элемен­там массива могут быть использованы операторы при­сваивания и операторы ввода.



Пример

В приведенном ниже примере осуществляются ввод и вывод двухмерного массива А размерностью 10х15. Формирование и вывод массива производятся в двух про­цедурах, которые последовательно вызываются из основ­ной программы. Надо заметить, что формирование двух­мерного массива можно осуществлять всеми четырьмя спо­собами, описанными для одномерных массивов, то есть: вводом с клавиатуры, посредством генератора случай­ных чисел, с помощью файла или описанием типизированной константы. Пусть в нашем приме­ре элементы задаются посредством генератора случай­ных чисел.

Program Example_110;

Const n=10; m=15;

Type dmyarray = Array[1..n, 1..m]

Of Integer;

Var A: dmyarray;

Procedure Init(Var x: dmyarray);

{Процедура формирования массива}

Var i, j: Integer;

Begin

For i=1 To n Do

For j:= 1 To m Do x[i, j]:=

-25+Random(51);

End;

Procedure Print(x: dmyarray);

{Процедура вывода массива на экран}

Var i, j: Integer;

Begin

For i:=1 To n Do

Begin {Вывод i-й строки массива}

For j:=1 To m Do Write(x[i, j]:5);

Writeln; {Переход на начало

следующей строки}

End;

End;

Begin

Init(A);

Writeln('Массив А:');

Print(A);

Readln;

End.

Можно выделить несколько видов задач на двухмер­ные массивы.



<== предыдущая лекция | следующая лекция ==>
Решение | Найти сумму элементов


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


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

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

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


 


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

 
 

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

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