- •Введение.
- •Условие задания
- •Текст программы
- •Класс обработчиков главного окна (MainWindow.Xaml.Cs)
- •Класс транспонирования матрицы (at.Cs)
- •Класс умножения матрицы на число k (Axk.Cs)
- •Класс получения канонического вида и ранга матрицы (Kan.Cs)
- •Класс чтения матриц из файла (Re.Cs)
- •Класс записи результатов вычислений в файл (wr.Cs)
- •Класс произведения матриц (Umn.Cs)
- •Класс сложения матриц (Plus.Cs)
- •Класс проверки входа в программу (Parol.Cs)
- •Класс получения определителя матрицы (Opr.Cs)
- •Класс получения разности матрицы (Minus.Cs)
- •Класс получения минора матрицы (Mab.Cs)
- •Класс копирования результата в матрицу (Copir.Cs)
- •Класс хранения матричных данных (Cache.Cs)
- •Описание кода программы
- •Класс обработчиков главного окна (MainWindow.Xaml.Cs)
- •Класс транспонирования матрицы (at.Cs)
- •Класс умножения матрицы на число k (Axk.Cs)
- •Класс получения канонического вида и ранга матрицы (Kan.Cs)
- •Класс чтения матриц из файла (Re.Cs)
- •Класс записи результатов вычислений в файл (wr.Cs)
- •Класс произведения матриц (Umn.Cs)
- •Класс сложения матриц (Plus.Cs)
- •Класс проверки входа в программу (Parol.Cs)
- •Класс получения определителя матрицы (Opr.Cs)
- •Класс получения разности матрицы (Minus.Cs)
- •Класс получения минора матрицы (Mab.Cs)
- •Главное окно (рис. 4)
- •Результаты работы программы
- •Заключение
- •Список литературы
Класс транспонирования матрицы (at.Cs)
Класс транспонирования матрицы содержит одну функцию (public void ATR(int ind, Cache ch)) позволяющую получить транспонированную матрицу из исходной. Данная функция принимает индекс транспонируемой матрицы и элемент ch класса Cache для доступа к выбранной матрице.
Для транспонирования создаются временные переменные, в которые записываются данные исходной матрицы. Затем создается пустая временная транспонированная матрица, которая заполняется путем перечисления в цикле for. Полученная матрица записывается в матрицу-результат, которую можно будет вывести на экран.
Класс умножения матрицы на число k (Axk.Cs)
Класс умножения матрицы на число k позволяет получить матрицу, каждый элемент которой умножен на число k. Данная функция принимает индекс транспонируемой матрицы, число k и элемент ch класса Cache для доступа к выбранной матрице.
Для умножения матрицы на число k создаются временные переменные, в которые записываются данные исходной матрицы. Затем создается пустая временная матрица, которая заполняется в цикле for путем умножения каждого элемента матрицы на число k. Полученная матрица записывается в матрицу-результат, которую можно будет вывести на экран.
Класс получения канонического вида и ранга матрицы (Kan.Cs)
В данном классе содержатся две матричные функции:
public void KV(int ind, Cache ch) – функция получения канонического вида выбранной матрицы:
В данной функции создаются временные переменные для записи в них исходной матрицы. Затем проверяется условие возможного выхода за пределы матрицы справа и снизу, после чего функция получает делитель для первой строки, и затем вычитает ее из ниже лежащих строк. И цикл повторяется так до последней строки.
public int Rang(int ind, Cache ch) – функция получения ранга выбранной матрицы:
В данной функции, прежде чем получить ранг матрицы функция вызывает функцию получения канонического вида данной матрицы. И затем при помощи перечисления канонической матрицы определяется ранг матрицы путем подсчета не нулевых рядов.
Класс чтения матриц из файла (Re.Cs)
В этом классе исходная матрица считывается из файла. Для этого:
создаются временные переменные для хранения открываемой матрицы, а также методы разделения элементов в строках открываемого файла;
создается декодер для русского текста (Encoding en = Encoding.GetEncoding(1251););
Создается окно для выбора открываемой матрицы и путем перечисления строк в открытом файле эти строки записываются во временное хранилище (List<string> mas = new List<string>();). Одновременно с записью матрицы происходит запись имени и фамилии автора создавшего эту матрицу, а также ее размер;
Затем полученный лист строк читается, и каждая строка разбивается на элементы по разделителю, которые затем записываются во временную матрицу. И эта матрица переносится в матрицу, которую можно вывести на экран.
Класс записи результатов вычислений в файл (wr.Cs)
Функция записи результатов принимает объект ch класса Cache для доступа к записываемой матрице. Создается окно сохранения данных где выбирается место хранения файла. После выбора места хранения в файл записывается автор и матрица переписанная в массив строк ().