Использование файлов для работы с матрицами

 

Матрицей размера M Ч N называется прямоугольная таблица чисел, со-

держащая M строк и N столбцов. Для работы с матрицами обычно используют-

ся двумерные массивы (см. задания группы Matrix). Данный пункт посвящен

способам обработки матриц, хранящихся в типизированных файлах на внеш-

них носителях (дисках). Как и в остальных заданиях на обработку файловых

данных, при выполнении заданий из данного пункта не следует использовать

вспомогательные массивы, содержащие все файловые элементы.

В заданиях данного пункта используются дополнительные понятия тео-

рии матриц. Приведем определения этих понятий.

Пусть A — матрица размера M Ч N. Матрица B называется транспониро-

ванной к матрице A, если она имеет размер N Ч M и ее элементы удовлетво-

ряют следующему соотношению:


 

BI,J= AJ,I,


 

I = 1, . . ., N, J = 1, . . . M.


 

Пусть A — матрица размера M Ч N, B — матрица размера N Ч P. Матри-

ца C называется произведением матриц A и B (и обозначается A·B), если она

имеет размер M Ч P и ее элементы удовлетворяют следующему соотношению:


 

CI,J= AI,B1,J + AI,2 ·B2,J + . . . + A1,N ·BN,J,


 

I = 1, . . ., M, J = 1, . . . P.


 

Квадратная матрица A называется верхнетреугольной, если все ее эле-

менты, лежащие ниже главной диагонали, равны нулю (определение главной

диагонали см. в задании Matrix80):


 

AI,J= 0,


 

I > J.


 

Квадратная матрица A называется нижнетреугольной, если все ее элемен-

ты, лежащие выше главной диагонали, равны нулю:


 

AI,J= 0,


 

I < J.



88


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

Квадратная матрица A называется трехдиагональной, если равны нулю


все ее элементы, не лежащие на главной диагонали и на двух диагоналях,

примыкающих к главной:


 

 

AI,J= 0,


 

 

|IJ | > 1.


 

File74◦ . Даны два целых числа I, J и файл вещественных чисел, содержащий

элементы квадратной матрицы (по строкам). Вывести элемент матрицы,

расположенный в I-й строке и J -м столбце (строки и столбцы нумеруются

от 1). Если требуемый элемент отсутствует, то вывести 0.

File75. Дан файл вещественных чисел, содержащий элементы квадратной мат-

рицы (по строкам). Создать новый файл, содержащий элементы матрицы,

транспонированной к исходной.

File76. Даны два файла вещественных чисел с именами SAи SB, содержащие

элементы квадратных матриц A и B (по строкам). Создать новый файл с

именем SC, содержащий элементы произведения A·B. Если матрицы A и B

нельзя перемножать, то оставить файл SCпустым.

File77. Даны два целых числа I, J и файл вещественных чисел, содержащий

элементы прямоугольной матрицы (по строкам), причем первый элемент

файла содержит количество столбцов матрицы. Вывести элемент матри-

цы, расположенный в I -й строке и J -м столбце (строки и столбцы нуме-

руются от 1). Если требуемый элемент отсутствует, то вывести 0.

File78. Дан файл вещественных чисел, содержащий элементы прямоугольной

матрицы (по строкам), причем первый элемент файла содержит количе-

ство столбцов матрицы. Создать новый файл той же структуры, содержа-

щий матрицу, транспонированную к исходной.

File79. Даны два файла вещественных чисел с именами SAи SB, содержа-

щие элементы прямоугольных матриц A и B (по строкам), причем первый

элемент каждого файла содержит количество столбцов соответствующей

матрицы. Создать файл той же структуры с именем SC , содержащий эле-

менты произведения A·B. Если матрицы A и B нельзя перемножать, то

оставить файл SCпустым.

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. Даны два файла вещественных чисел с именами SAи SB, содержа-

щие ненулевые части верхнетреугольных матриц A и B (по строкам).

Создать новый файл с именем SC, содержащий ненулевую часть произ-



90


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

ведения A·B (по строкам). Если матрицы A и B нельзя перемножать, то

оставить файл SCпустым.


File90. Даны два файла вещественных чисел с именами SAи SB, содержа-

щие ненулевые части нижнетреугольных матриц A и B (по строкам).

Создать новый файл с именем SC, содержащий ненулевую часть про-

изведения A·B (по строкам). Если матрицы A и B нельзя перемножать, то

оставить файл SC пустым.

 

 

Текстовые файлы

 

Условие вида «дан текстовый файл» означает, что в наборе исходных

данных указано имя данного файла (текстовая строка). Все исходные файлы

в заданиях данной группы считаются существующими. Элементы исходных

файлов следует считывать с помощью стандартных процедур используемого

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

Если в задании требуется создать новый файл, то имя создаваемого файла

также входит в набор исходных данных (и, как правило, является последним

элементом этого набора). Записывать элементы в создаваемые (или модифи-

цируемые) файлы следует с помощью стандартных процедур используемого

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

Максимальный размер исходных файлов не устанавливается, поэтому при

решении заданий не следует использовать вспомогательные массивы, содер-

жащие все элементы исходных файлов, однако допускается использование

вспомогательных файлов.

Используемые в заданиях типизированные файлы удовлетворяют услови-

ям, которые перечислены в начале раздела «Типизированные файлы».

 

 



php"; ?>