Главная Другое
Экономика Финансы Маркетинг Астрономия География Туризм Биология История Информатика Культура Математика Физика Философия Химия Банк Право Военное дело Бухгалтерия Журналистика Спорт Психология Литература Музыка Медицина |
страница 1 ОБРАБОТКА ДВУМЕРНЫХ МАССИВОВ Цель работы: Изучить принципы работы с двумерными массивами. Общие сведения: Массивы, рассмотренные ранее, имеют элементы, упорядоченные по одному индексу и называются одномерными массивами или векторами. Массив может быть двумерным, трехмерным и т. д. ![]() Рассмотрим двумерный массив Паскаля размерностью 3*3, то есть в ней будет три строки, а в каждой строке по три элемента: ![]() Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a21 – это элемент, стоящий во второй строке и в первом столбце. На языке программирования Pascal двумерные массивы описываются так: array [1..m, 1..n] of базовый_тип При этом описание может быть в разделе type и тогда создается новый тип, который можно использовать при объявлении переменных. Или массив может быть описан непосредственно в разделе переменных. m и n – это константы, их можно опустить и вставить конкретные значения, но лучше так не делать. Обычно подразумевают, что в интервале от 1 до m определяется количество строк, а в интервале от 1 до n – количество столбцов массива.
Пример №1 Заполнить вручную двумерный массив. Var matrix: array[1..3,1..5] of integer; i, j: integer; begin {заполнение массива} writeln ('Введите 15 чисел: '); for i := 1 to 3 do for j := 1 to 5 do read (matrix[i,j]); {вывод массива на экран} for i := 1 to 3 do begin for j := 1 to 5 do write (matrix[i,j]:5); writeln
end; readln
end. Когда пользователь вводит очередное число, то процедура read считывает его и помещает в ячейку с текущими индексами i и j. Когда i равна единице, значение j меняется пять раз, и, значит, заполняется первая строка таблицы. Когда i равна двум, значение j снова меняется пять раз и заполняется вторая строка таблицы. Аналогично заполняется третья строка таблицы. Внутренний цикл for в общей сложности совершает 15 итераций, внешний только 3. Как пользователь вводит значения – не важно. Он может их разделять либо пробелом, либо переходом на новую строку. Вывод значений двумерного массива организован в виде таблицы. Выводятся 3 строки по 5 чисел в каждой. Внутри строк числа разделяются пробелом. На самом деле, это не совсем корректно написанная программа. Если мы захотим поменять размерность массива, то придется просмотреть всю программу (представьте, что она очень большая) и исправить значения. Это неэффективно. Поэтому в программе следует использовать константы. В случае чего их значения можно поменять всего лишь в одном месте. Const M = 3; N = 5;
var matrix: array[1..M,1..N] of integer; i, j: integer; begin writeln ('Введите 15 чисел: '); for i := 1 to M do for j := 1 to N do read (matrix[i,j]); for i := 1 to M do begin for j := 1 to N do write (matrix[i,j]:5); writeln end;
readln end.
Порядок выполнения работы:
Варианты заданий:
Смотрите также: Лабораторная работа №7 обработка двумерных массивов цель работы: Изучить принципы работы с двумерными массивами. Общие сведения
76.78kb.
1 стр.
Лабораторная работа №6 обработка одномерных массивов цель работы: Изучить принципы работы с одномерными массивами. Общие сведения
97.36kb.
1 стр.
Лабораторная работа №12 процедуры и функции цель работы: Изучить принципы работы с процедурами и функциями Общие сведения
66.1kb.
1 стр.
Лабораторная работа. Системный реестр Windows
74.22kb.
1 стр.
Лабораторная работа № Типовые алгоритмы обработки одномерных массивов
57.54kb.
1 стр.
Лабораторная работа Использование стандартных компонентов в C++ Builder
87.05kb.
1 стр.
Лабораторная работа №2 «Система безопасности Windows xp» Цель работы: Изучить систему безопасности Windows xp описание работы
58.41kb.
1 стр.
Общие принципы работы с матрицами в системе matlab лабораторная работа №3
149.49kb.
1 стр.
Лабораторная работа №2 Металлографический микроскоп мим 7
86.05kb.
1 стр.
Лабораторная работа №7 изучение прокаливаемости конструкционной стали
62.38kb.
1 стр.
Лабораторная работа 3 изучение принципа действия сцинтилляционного детектора
179.04kb.
1 стр.
Лабораторная работа №6 Страничное распределение памяти 144.49kb.
1 стр.
|