Возвращение неправильных значений - 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];

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


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

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

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