Exemplo n.º 1
0
        public Matrici Inmulteste(Matrici m2)
        {
            if (this.coloane != m2.randuri)
            {
                throw new ImpossibleMatrixOperationException();
            }
            int n = this.randuri;
            int m = m2.coloane;

            Matrici a = new Matrici(n, m);

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    float suma = 0;
                    for (int k = 0; k < this.coloane; k++)
                    {
                        suma += this.data[i, k] * m2.data[k, j];
                    }
                    a.data[i, j] = suma;
                }
            }

            return(a);
        }
Exemplo n.º 2
0
        public Matrici Putere(int n)
        {
            Matrici a = new Matrici(this.randuri, this.coloane);

            while (n > 0)
            {
                a = this.Inmulteste(this);
                n--;
            }
            return(a);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            //afisarile matricelor
            Matrici a1 = new Matrici(2, 2);

            a1.CreateMatrice();
            Console.WriteLine($"Afisarea matricii a1 \n{a1}");


            Matrici a2 = new Matrici(2, 3);

            a2.CreateMatrice();
            Console.WriteLine($"Afisarea matricii a2 \n{a2}");

            Matrici a3 = new Matrici(3, 3);

            a3.CreateMatrice();
            Console.WriteLine($"Afisarea matricii a3 \n{a3}");

            Matrici a4 = new Matrici(3, 3);

            a4.CreateMatrice();
            Console.WriteLine($"Afisarea matricii a4 \n{a4}");

            //operatiile cu matrici

            Console.WriteLine($"Adunarea a doua matrici: ");
            Matrici a5 = a3.Aduna(a4);

            Console.WriteLine(a5);


            Console.WriteLine($"Scaderea a doua matrici: ");
            Matrici a6 = a3.Scade(a4);

            Console.WriteLine(a6);

            Console.WriteLine($"Inmultirea a doua matrici: ");
            Matrici a7 = a1.Inmulteste(a2);

            Console.WriteLine(a7);

            Console.WriteLine($"Ridicarea la putere a doua matrici: ");
            Matrici a8 = a1.Putere(3);

            Console.WriteLine(a8);


            Console.ReadLine();
        }
Exemplo n.º 4
0
        //scaderea a doua matrici
        public Matrici Scade(Matrici m2)
        {
            if (this.randuri != m2.randuri && this.coloane != m2.coloane)
            {
                throw new ImpossibleMatrixOperationException();
            }

            int n = this.randuri;
            int m = this.coloane;

            Matrici a = new Matrici(n, m);

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    a.data[i, j] = this.data[i, j] - m2.data[i, j];
                }
            }

            return(a);
        }