Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Массивы.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
161 Кб
Скачать
☆

2.3 Вывод одномерных массивов

Так как элементы числового массива представляют собой числа одного происхождения и, как правило, одного порядка, то выводить их целесообразно во–первых в формате, а во–вторых в формате, едином для всего массива.

Если число элементов массива невелико и все они уместятся в 1–3 строках на экране или принтере, то вывод таких массивов не требует каких либо особенностей. Например, вывод массива X из 8 элементов в формате 6:3 выполняется одним оператором:

for k:=1 to 8 do write(x[k]:6:3);

Массивы с большим числом элементов целесообразно выводить в форме таблиц с одинаковым количеством чисел в строках, используя сочетания операторов write и writeln. Напомним, что при записи оператора вывода в виде, например, write(a), следующая выводимая информация будет выводиться в той же строке, что и число а, при записи же в виде writeln(a), после вывода числа а следующая информация будет выводится с новой строки.

Пример 2.8. Пусть массив Xк из 40 вещественных чисел требуется вывести в виде таблицы по 8 чисел в строке, т.е. разместить выводимые числа по следующей схеме:

Х1 Х2 Х3 .....Х8

Х9 Х10 Х11 ...Х16

..............................

Хi Хi+1 Хi+2 ...Хi+7

...............................

Х32 Х33 Х34 . ...Х40

Из этой схемы видно, что если обозначить индекс первого числа в каждой строке через i, то этот индекс изменяется от 1 до 32 с шагом 8. В каждой строке индекс первого элемента может быть выражен как i+0, второго i+1, третьего i+2,... восьмого i+7, т.е. этот индекс имеет общую формулу i+j, где j изменяется от 0 до 7 с шагом 1. Отсюда фрагмент программы, реализующей вывод массива по данной схеме в формате, например 6:2, выразится двойным циклом по i и j и может быть представлен в виде:

i:=1

while (i<=32) do

begin

for j:=0 to 7 do write (x[i,j]:6:2);

writeln;

i:=i+8;

end;

В данном случае в каждой очередной строке выводится по 8 чисел, после чего оператор пустой writeln, прерывает строку и обеспечивает вывод очередной восьмерки с новой строки.

При любом другом количестве элементов массива и количества чисел в строке нетрудно написать соответствующий фрагмент программы, если предварительно набросать схему вывода, аналогичную выше приведенной.

Отметим еще следующее. Если количество элементов массива не кратно количеству чисел в строке, то всегда останется неполной последняя строка. Вывод этой строки можно выполнить отдельным оператором. Так, если бы в данном случае число элементов массива составляло не 40, а, например, 45, то для вывода последних 5 элементов к приведенному фрагменту программы следовало бы дописать оператор

for j:=41 to 45 do write (x[j]:6:2);

2.4 Вывод матриц

Вывод двумерных массивов как и ввод требует использования двойных циклов, в одном из которых параметром является номер строки, а во втором – номер столбца. При этом матрицы, очевидно, целесообразно выводить в их естественном виде, т.е. в виде таблиц.

Пример 2.9. Составить программу вывода матрицы А из целочисленных элементов размером m*n, т.е. имеющей m строк и n–столбцов. Пусть i–номер строки, j–номер столбца, тогда общий элемент матрицы обозначится аi,j и схема индексирования ее элементов будет иметь вид:

Вывод этой матрицы m строками по n чисел в строке в заданном формате, например :4, с заголовком может быть выполнен следующем образом:

writeln (' Матрица A');

for i:=1 to m do

begin

writeln;

for j:=1 to n do write (a[i,j]:4);

end;

В этом фрагменте оператор пустой writeln отделяет заголовок от первой строки матрицы, он же обеспечивает переход к следующей строке после завершения вывода предыдущей.