Возвращение неправильных значений - C#
Формулировка задачи:
Добрый день Написал программу для умножения двух матриц. Но к сожалению метод возвращает мне нули. А на самом деле не должна.
Помогите пожалуйста новичку
вот сама программа
class Program { static void Main(string[] args) { Math mathe = new Math(); int first, second; Console.Write("Pervoye cislo ravno: "); first = int.Parse(Console.ReadLine()); Console.Write("Vtoroye cislo ravno: "); second = int.Parse(Console.ReadLine()); Matrix m1 = new Matrix(); Matrix m2 = new Matrix(); for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) { Console.Write("m1.Mass[{0},{1}]=", i, j); m1.mas[i, j] = int.Parse(Console.ReadLine()); } for (int i = 0; i < 2; i++) for (int j = 0; j < 2; j++) { Console.Write("m2.Mass[{0},{1}]=", i, j); m2.mas[i, j] = int.Parse(Console.ReadLine()); } Console.ReadLine(); Console.WriteLine("Summa dvux cisel sostavlyayet {0} ", mathe.Sum(first,second)); Console.WriteLine("\n Proizvedeniye dvux matric sostavlyayet "); Matrix result_2 = mathe.Sum(m1, m2); for (int i=0; i<2; i++) for (int j = 0; j < 2; j++) { Console.WriteLine("result[{0}, {1}]={2}", i, j, result_2.mas[i, j]); } Console.ReadLine(); } } class Matrix { public int[,] mas = new int[2, 2]; } class Math { public int s=0; public int Sum(int first, int second) { return first + second; } public Matrix Sum(Matrix first, Matrix second) { Matrix resul_1 = new Matrix(); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { for (int l = 0; l < 2; l++) { s = s + resul_1.mas[i, l] * resul_1.mas[l, j]; } resul_1.mas[i, j] = s; } } return resul_1; } } }
Решение задачи: «Возвращение неправильных значений»
textual
Листинг программы
s = s + first.mas[i, l] * second.mas[l, j];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д