Сделать перегрузку в программе - C#

Узнай цену своей работы

Формулировка задачи:

Мне нужно сделать перегрузку в программе С#, если кто умеет помогите пожалуйста, очень нужно, вот тут нужно добавить перегрузку, заранее спасибо.
using System;
 
namespace ConsoleApplication1
{
 
    class Matrix
    {
        int n;
        int[,] a = new int[40, 40];
 
        public void outp()
        {
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine();
                for (int j = 0; j < n; j++)
                    Console.Write("\t" + a[i, j]);
            }
            Console.WriteLine();
        }
 
        public void inp()
        {
        int i, j;
        Console.WriteLine("Введите размер таблицы: ");
        n = Convert.ToInt32(Console.ReadLine());
        Random r = new Random();
        for (i = 0; i < n; i++)
            for (j = 0; j < n; j++)
                    a[i, j] = r.Next(-3, 3);
        }
 
        public Matrix mult_num(int k)
        {
            Matrix c = new Matrix();
            c.n = n;
            int i, j;
            for (i = 0; i < n; i++)
                for (j = 0; j < n; j++)
                    c.a[i, j] = k*a[i, j];
            return c;
        }
 
        public Matrix sum(Matrix b)
        {
 
            Matrix c = new Matrix();
            c.n = n;
            int i, j;
            for (i = 0; i < n; i++)
                for (j = 0; j < n; j++)
                    c.a[i, j] = a[i, j]+b.a[i, j];
            return c;
 
        }
 
        public Matrix transp()
        {
 
            Matrix c = new Matrix();
            c.n = n;
            int i, j;
            for (i = 0; i < n; i++)
                for (j = 0; j < n; j++)
                    c.a[i, j] = a[j, i];
            return c;
        }
 
        public Matrix mult_matrix(Matrix b)
        {
            Matrix c = new Matrix();
            c.n = n;
            int i, j;
            for (i = 0; i < n; i++)
                for (j = 0; j < n; j++)
                {
                    c.a[i, j] = 0;
                    for (int k = 0; k < n; k++)
                        c.a[i, j] += (a[i, k] * b.a[k, j]);
                }
            return c;
        }
 
    };
 
    class Program
    {
        static void Main()
        {
 
            //5A-4BCD
            Matrix a = new Matrix();
            Matrix b = new Matrix();
            Matrix c = new Matrix();
            Matrix d = new Matrix();
            Matrix R1 = new Matrix();
            Matrix R = new Matrix();
            a.inp();
            a.outp();
            b.inp();
            b.outp();
            c.inp();
            c.outp();
            d.inp();
            d.outp();
            R = a.mult_num(5);// 5A**************
            R.outp();
            R1 = b.mult_matrix(b);//B
            R1.outp();
            R1 = b.mult_num(-1);//-B
            R1.outp();
            R1 = R1.mult_num(4);//-4B
            R1.outp();
            R1 = R1.mult_matrix(c);//-4BC
            R1.outp();
            R1 = R1.mult_matrix(d);//-4BCD*******************
            R1.outp();
            R = R.sum(R1);
            Console.WriteLine("Ответ: ");
            R.outp();
            Console.ReadKey();
        }
    }
}

Решение задачи: «Сделать перегрузку в программе»

textual
Листинг программы
using System;
 
class Matrix
{
    int n;
    int[,] a = new int[40, 40];
 
    public void outp()
    {
        for( int i = 0; i < n; i++ )
        {
            Console.WriteLine();
            for( int j = 0; j < n; j++ )
                Console.Write( "\t" + a[i, j] );
        }
        Console.WriteLine();
    }
 
    public void inp()
    {
        int i, j;
        Console.WriteLine( "Введите размер таблицы: " );
        n = Convert.ToInt32( Console.ReadLine() );
        Random r = new Random();
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
                a[i, j] = r.Next( -3, 3 );
    }
 
    public Matrix mult_num( int k )
    {
        Matrix c = new Matrix();
        c.n = n;
        int i, j;
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
                c.a[i, j] = k * a[i, j];
        return c;
    }
/////////////////////////////////////////////////////////////////////////////
//Перегрузка метода Sum
    public Matrix sum( Matrix b )
    {
 
        Matrix c = new Matrix();
        c.n = n;
        int i, j;
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
                c.a[i, j] = a[i, j] + b.a[i, j];
        return c;
 
    }
    public Matrix sum( Matrix b, Matrix c )
    {        
        int i, j;
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
                c.a[i, j] = a[i, j] + b.a[i, j];
        return c;
    }
 
    public Matrix sum( Matrix b, Matrix c , Matrix e)
    {
        //Сложить три матрицы...
        return e;
    }
/////////////////////////////////////////////////////////////////////////////
    public Matrix transp()
    {
 
        Matrix c = new Matrix();
        c.n = n;
        int i, j;
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
                c.a[i, j] = a[j, i];
        return c;
    }
 
    public Matrix mult_matrix( Matrix b )
    {
        Matrix c = new Matrix();
        c.n = n;
        int i, j;
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
            {
                c.a[i, j] = 0;
                for( int k = 0; k < n; k++ )
                    c.a[i, j] += (a[i, k] * b.a[k, j]);
            }
        return c;
    }
 
};
 
class Program
{
    static void Main()
    {
 
        //5A-4BCD
        Matrix a = new Matrix();
        Matrix b = new Matrix();
        Matrix c = new Matrix();
        Matrix d = new Matrix();
        Matrix R1 = new Matrix();
        Matrix R = new Matrix();
        a.inp();
        a.outp();
        b.inp();
        b.outp();
        c.inp();
        c.outp();
        d.inp();
        d.outp();
        R = a.mult_num( 5 );// 5A**************
        R.outp();
        R1 = b.mult_matrix( b );//B
        R1.outp();
        R1 = b.mult_num( -1 );//-B
        R1.outp();
        R1 = R1.mult_num( 4 );//-4B
        R1.outp();
        R1 = R1.mult_matrix( c );//-4BC
        R1.outp();
        R1 = R1.mult_matrix( d );//-4BCD*******************
        R1.outp();
///////////////////////////////////////////////////
        R = R.sum( R1 );
        R = R.sum( R1 ,R );
        R = R.sum( R1 ,a, R );
////////////////////////////////////////////////////
        Console.WriteLine( "Ответ: " );
        R.outp();
        Console.ReadKey();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы