Сделать перегрузку в программе - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д