Организация ввода и вывода двумерного массива
Ввод
Матрицы, как и массивы, нужно вводить (выводить) поэлементно. Блок-схема ввода элементов матрицы изображена на рис. Вывод матрицы организуется аналогично вводу.
Вывод
Если надо вывести на экран массив, описанный как
t: array [1 .. 6, 4 .. 7] of integer;
то, сообразив, что в нем всего 24 элемента, можно вывести их в одну строку или столбец. Однако нагляднее было бы вывести массив в виде:
t[1,4] | t[1,5] | t[1,6] | t[1,7] | |
t[2,4] | t[2,5] | t[2,6] | t[2,7] | |
t[3,4] | t[3,5] | t[3,6] | t[3,7] | |
t[4,4] | t[4,5] | t[4,6] | t[4,7] | |
t[5,4] | t[5,5] | t[5,6] | t[5,7] | |
t[6,4] | t[6,5] | t[6,6] | t[6,7] |
Можно вывести на экран одну строку этой таблицы (например, третью):
for j:=4 to 7 do write(t[3,j]:6);
Поскольку после вывода каждой строки следует перевести курсор на новую строку, добавляем после цикла writeln;. Итак, для вывода на экран i-ой строки таблицы (i=1,2,...,6) необходимы команды
for j:=4 to 7 do write(t[i,j]:6);
writeln;
Осталось повторить это при всех возможных значениях i (от 1 до 6). Получаем вложенные циклы:
for i:=1 to 6 do
begin
for j:=4 to 7 do write(t[i,j]:6);
writeln
end;
Пример. Минимальный по модулю элемент
Написать программу, которая находит минимальный по модулю элемент вещественной матрицы размером 5×8 и его координаты.
В результате выполнения этой программы должно получиться три числа: значение элемента, имеющего минимальную абсолютную величину (величина вещественного типа), а также целочисленные номера строки и столбца, на пересечении которых этот элемент расположен.
Если в матрице искомых элементов несколько, примем, что будут выданы координаты самого верхнего левого из них. Например, для матрицы, приведенной на рис. 5.2, минимальный по модулю элемент равен нулю и расположен на пересечении строки 1 и столбца 2.
Алгоритм выглядит так:
1. Ввести матрицу.
2. Принять элемент, расположенный на пересечении первой строки и первого столбца, за искомый (для этого запомнить его модуль, номер строки и номер столбца).
3. Поочередно просмотреть все элементы матрицы; если модуль очередного элемента оказывается меньше сохраненного, принять этот элемент за искомый (то есть запомнить его модуль, номер строки и номер столбца).
4. Вывести результаты.
Программа:
Размеры массива заданы именованными константами тип, что позволяет легко их изменять.
Для ввода матрицы требуется организовать вложенные циклы. Порядок их следования не важен, главное, чтобы он совпадал с порядком ввода исходных данных. Для приведенной последовательности циклов элементы должны вводиться по строкам. Количество элементов на строке исходных данных роли не играет, так как работа оператора read продолжается до исчерпания списка ввода, поэтому можно, например, ввести всю матрицу в одной строке или, наоборот, располагать на отдельной строке каждый ее элемент.
СОВЕТ
Для упрощения отладки рекомендуется приготовить тестовый массив в текстовом файле и изменить программу так, чтобы она читала значения из файла.
Дата добавления: 2015-08-08; просмотров: 1187;