コード例 #1
0
        public static MyMatrix operator!(MyMatrix m)
        {
            MyMatrix m3 = new MyMatrix(m.matrix.GetLength(1), m.matrix.GetLength(0));

            for (int i = 0; i < m.matrix.GetLength(0); i++)
            {
                for (int j = 0; j < m.matrix.GetLength(1); j++)
                {
                    m3.matrix[j, i] = m.matrix[i, j];
                }
            }

            return(m3);
        }
コード例 #2
0
        public static MyMatrix operator+(MyMatrix m1, MyMatrix m2)
        {
            MyMatrix m3 = new MyMatrix(m1.matrix.GetLength(0), m1.matrix.GetLength(1));

            for (int i = 0; i < m1.matrix.GetLength(0); i++)
            {
                for (int j = 0; j < m1.matrix.GetLength(1); j++)
                {
                    m3.matrix[i, j] = m1.matrix[i, j] + m2.matrix[i, j];
                }
            }

            return(m3);
        }
コード例 #3
0
        public static MyMatrix operator*(MyMatrix m1, MyMatrix m2)
        {
            MyMatrix m3 = new MyMatrix(m1.matrix.GetLength(0), m2.matrix.GetLength(1));

            for (int i = 0; i < m1.matrix.GetLength(0); i++)
            {
                for (int j = 0; j < m2.matrix.GetLength(1); j++)
                {
                    for (int k = 0; k < m1.matrix.GetLength(1); k++)
                    {
                        m3.matrix[i, j] += m1.matrix[i, k] * m2.matrix[k, j];
                    }
                }
            }

            return(m3);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: GriLis/Lesson2
        void BuildMtx(int id, int rows, int columns)
        {
            Random rnd = new Random();

            switch (id)
            {
            case 1:

                mtxViz1.RowCount    = rows;
                mtxViz1.ColumnCount = columns;

                matrx1 = new MyMatrix(rows, columns);

                for (int i = 0; i < matrx1.matrix.GetLength(0); i++)
                {
                    for (int j = 0; j < matrx1.matrix.GetLength(1); j++)
                    {
                        matrx1.matrix[i, j]            = rnd.Next(0, 10);
                        mtxViz1.Rows[i].Cells[j].Value = matrx1.matrix[i, j];
                    }
                }

                break;

            case 2:

                mtxViz2.RowCount    = rows;
                mtxViz2.ColumnCount = columns;

                matrx2 = new MyMatrix(rows, columns);

                for (int i = 0; i < matrx2.matrix.GetLength(0); i++)
                {
                    for (int j = 0; j < matrx2.matrix.GetLength(1); j++)
                    {
                        matrx2.matrix[i, j]            = rnd.Next(0, 10);
                        mtxViz2.Rows[i].Cells[j].Value = matrx2.matrix[i, j];
                    }
                }

                break;
            }
        }