Объявим константы N,M - максимально допустимая размерность матрицы (Понятие матрицы):
const
n=10; // col count
m=10; // row count
Объявим тип данных матрица:
type
TMatrix = array[1..n,1..m] of integer;
TMassiv = array[1..n] of integer;
Задание: реализовать следующие функции для работы с матрицей:
const
n=10; // col count
m=10; // row count
Объявим тип данных матрица:
type
TMatrix = array[1..n,1..m] of integer;
TMassiv = array[1..n] of integer;
Задание: реализовать следующие функции для работы с матрицей:
- function RandomMatrix(ACol,ARow:integer):TMatrix;
возвращает матрицу размера ARow строк и ACol столбцов заполненную случайными числами - function ReadMatrix(FName:string; var A:TMatrix; var ACol, ARow:integer):boolean;
Считывает размер матрицы и ее содержимое из файла с именем FName. Возвращает true, если файл существует и данные в нем корректны и false - в обратном случае - procedure PrintMatrix(A:TMatrix;
ACol,ARow :integer);
Выводит матрицу на экран. - procedure SaveMatrix(
FName:string; A:TMatrix;
ACol,ARow :integer);
Сохраняет размер и содержимое матрицы в файл с именем FName - function GetRow(A:TMatrix,
ACol,ARow,No:integer):TMassiv
Возвращает строку с номером No из матрицы - function GetCol(A:TMatrix,
ACol,ARow,No:integer):TMassiv
Возвращает столбец с номером No из матрицы - function PascalTriangle(K:integer):TMatriix
Генерирует треугольник Паскаля из K строк вида:
1 0 0 0 0
1 1 0 0 0
1 2 1 0 0
1 3 3 1 0
1 4 6 4 1 - function SumMatrix(A,B:TMatrix; ACol, ARow, BCol, BRow: integer; Err: integer):TMatrix;
Реализует сложение матриц A и B. Если размерность матриц не совпадает - переменная Err принимает значение 1, если операция успешно прошла - 0. - function ScalarAndMatrix(A: TMatrix; Scalar, ACol, ARow: integer):TMatrix;
Реализует умножение матрицы на число. - function MultMatrix(A,B:TMatrix; ACol, ARow, BCol, BRow: integer; Err: integer):TMatrix;
Реализует умножение матриц A и B. Если умножение невозможно, переменная Err принимает значение 1, если операция успешно прошла - 0. - function Transp(A:TMatrix; ACol, ARow:integer):TMatrix;
Транспонирует матрицу. - function IsSymmetric
(A:TMatrix; ACol, ARow:integer):boolean;
Проверяет матрицу на симметричность. Возвращает true, если матрица симметрична и false в обратном случае. - function CutXY(A:TMatrix; ACol, ARow:integer; X,Y:integer):TMatrix;
Возвращает матрицу, с удаленными строкой и столбцом, содержащими элемент с индексом [X,Y]. (То есть удаляет столбец номер Y и строку номер X); - function Determinant(
(A:TMatrix; ACol, ARow:integer):integer;
Возвращает определитель матрицы. (Задание повышенной сложности!!!) Что такое определитель см. здесь
Комментариев нет:
Отправить комментарий