Матрицей размера M Ч N называется прямоугольная таблица чисел, со-
держащая M строк и N столбцов. Для работы с матрицами обычно используют-
ся двумерные массивы (см. задания группы Matrix). Данный пункт посвящен
способам обработки матриц, хранящихся в типизированных файлах на внеш-
них носителях (дисках). Как и в остальных заданиях на обработку файловых
данных, при выполнении заданий из данного пункта не следует использовать
вспомогательные массивы, содержащие все файловые элементы.
В заданиях данного пункта используются дополнительные понятия тео-
рии матриц. Приведем определения этих понятий.
Пусть A — матрица размера M Ч N. Матрица B называется транспониро-
ванной к матрице A, если она имеет размер N Ч M и ее элементы удовлетво-
ряют следующему соотношению:
B I,J= A J,I,
I = 1,..., N, J = 1,... M.
Пусть A — матрица размера M Ч N, B — матрица размера N Ч P. Матри-
ца C называется произведением матриц A и B (и обозначается A · B), если она
имеет размер M Ч P и ее элементы удовлетворяют следующему соотношению:
C I,J= A I,1· B 1,J + A I,2 · B 2,J +... + A 1,N · B N,J,
I = 1,..., M, J = 1,... P.
Квадратная матрица A называется верхнетреугольной, если все ее эле-
менты, лежащие ниже главной диагонали, равны нулю (определение главной
диагонали см. в задании Matrix80):
A I,J= 0,
I > J.
Квадратная матрица A называется нижнетреугольной, если все ее элемен-
ты, лежащие выше главной диагонали, равны нулю:
A I,J= 0,
I < J.
88
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
Квадратная матрица A называется трехдиагональной, если равны нулю
все ее элементы, не лежащие на главной диагонали и на двух диагоналях,
примыкающих к главной:
A I,J= 0,
| I − J | > 1.
File74◦. Даны два целых числа I, J и файл вещественных чисел, содержащий
элементы квадратной матрицы (по строкам). Вывести элемент матрицы,
расположенный в I -й строке и J -м столбце (строки и столбцы нумеруются
от 1). Если требуемый элемент отсутствует, то вывести 0.
File75. Дан файл вещественных чисел, содержащий элементы квадратной мат-
рицы (по строкам). Создать новый файл, содержащий элементы матрицы,
транспонированной к исходной.
File76. Даны два файла вещественных чисел с именами S Aи S B, содержащие
элементы квадратных матриц A и B (по строкам). Создать новый файл с
именем S C, содержащий элементы произведения A · B. Если матрицы A и B
нельзя перемножать, то оставить файл S Cпустым.
File77. Даны два целых числа I, J и файл вещественных чисел, содержащий
элементы прямоугольной матрицы (по строкам), причем первый элемент
файла содержит количество столбцов матрицы. Вывести элемент матри-
цы, расположенный в I -й строке и J -м столбце (строки и столбцы нуме-
руются от 1). Если требуемый элемент отсутствует, то вывести 0.
File78. Дан файл вещественных чисел, содержащий элементы прямоугольной
матрицы (по строкам), причем первый элемент файла содержит количе-
ство столбцов матрицы. Создать новый файл той же структуры, содержа-
щий матрицу, транспонированную к исходной.
File79. Даны два файла вещественных чисел с именами S Aи S B, содержа-
щие элементы прямоугольных матриц A и B (по строкам), причем первый
элемент каждого файла содержит количество столбцов соответствующей
матрицы. Создать файл той же структуры с именем S C, содержащий эле-
менты произведения A · B. Если матрицы A и B нельзя перемножать, то
оставить файл S Cпустым.
File80. Дан файл вещественных чисел, содержащий элементы верхнетреуголь-
ной матрицы (по строкам). Создать новый файл, содержащий элементы
ненулевой части данной матрицы (по строкам).
Двоичные файлы
File81. Дан файл вещественных чисел, содержащий элементы нижнетреуголь-
ной матрицы (по строкам). Создать новый файл, содержащий элементы
ненулевой части данной матрицы (по строкам).
File82. Дан файл вещественных чисел, содержащий элементы трехдиагональ-
ной матрицы (по строкам). Создать новый файл, содержащий элементы
ненулевой части данной матрицы (по строкам).
File83. Даны два целых числа I, J и файл вещественных чисел, содержащий
ненулевую часть верхнетреугольной матрицы (по строкам). Вывести по-
рядок матрицы и ее элемент, расположенный в I -й строке и J -м столбце
(строки и столбцы нумеруются от 1). Если требуемый элемент находит-
ся в нулевой части матрицы, то вывести 0; если элемент отсутствует, то
вывести −1.
File84. Даны два целых числа I, J и файл вещественных чисел, содержащий
ненулевую часть нижнетреугольной матрицы (по строкам). Вывести по-
рядок матрицы и ее элемент, расположенный в I -й строке и J -м столбце
(строки и столбцы нумеруются от 1). Если требуемый элемент находит-
ся в нулевой части матрицы, то вывести 0; если элемент отсутствует, то
вывести −1.
File85. Даны два целых числа I, J и файл вещественных чисел, содержащий
ненулевую часть трехдиагональной матрицы (по строкам). Вывести по-
рядок матрицы и ее элемент, расположенный в I -й строке и J -м столбце
(строки и столбцы нумеруются от 1). Если требуемый элемент находит-
ся в нулевой части матрицы, то вывести 0; если элемент отсутствует, то
вывести −1.
File86. Дан файл вещественных чисел, содержащий ненулевую часть верхне-
треугольной матрицы (по строкам). Создать новый файл, содержащий все
элементы данной матрицы (по строкам).
File87. Дан файл вещественных чисел, содержащий ненулевую часть нижне-
треугольной матрицы (по строкам). Создать новый файл, содержащий все
элементы данной матрицы (по строкам).
File88. Дан файл вещественных чисел, содержащий ненулевую часть трехдиа-
гональной матрицы (по строкам). Создать новый файл, содержащий все
элементы данной матрицы (по строкам).
File89. Даны два файла вещественных чисел с именами S Aи S B, содержа-
щие ненулевые части верхнетреугольных матриц A и B (по строкам).
Создать новый файл с именем S C, содержащий ненулевую часть произ-
90
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
ведения A · B (по строкам). Если матрицы A и B нельзя перемножать, то
оставить файл S Cпустым.
File90. Даны два файла вещественных чисел с именами S Aи S B, содержа-
щие ненулевые части нижнетреугольных матриц A и B (по строкам).
Создать новый файл с именем S C, содержащий ненулевую часть про-
изведения A · B (по строкам). Если матрицы A и B нельзя перемножать, то
оставить файл S C пустым.
Текстовые файлы
Условие вида «дан текстовый файл» означает, что в наборе исходных
данных указано имя данного файла (текстовая строка). Все исходные файлы
в заданиях данной группы считаются существующими. Элементы исходных
файлов следует считывать с помощью стандартных процедур используемого
языка программирования.
Если в задании требуется создать новый файл, то имя создаваемого файла
также входит в набор исходных данных (и, как правило, является последним
элементом этого набора). Записывать элементы в создаваемые (или модифи-
цируемые) файлы следует с помощью стандартных процедур используемого
языка программирования.
Максимальный размер исходных файлов не устанавливается, поэтому при
решении заданий не следует использовать вспомогательные массивы, содер-
жащие все элементы исходных файлов, однако допускается использование
вспомогательных файлов.
Используемые в заданиях типизированные файлы удовлетворяют услови-
ям, которые перечислены в начале раздела «Типизированные файлы».