Почему не складываются элементы двух матриц? - C#

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

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

Подскажите, пожалуйста, почему не складываются элементы двух матриц?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _16
{
    class MatchConsole
    {
        public int сложение(int e,int g)
        {
            int y;
            y = e + g;
            return y;
        }
        public void вычитание(int e, int g)
        {
            int y;
            y = e - g;
        }
        public string выборДействия(string st)
        {
            Console.Write("Выбранно :"+st);
            return st;        
        }                                 
    }
    class Program
    {
       
        static void Main(string[] args)
        {
            MatchConsole mC;
            short l = 8; //l - колво строк (кол-во столбцов)
            short c = 8;
            short r = 8;
            int i,j,t,k;
            int[,] m = new int[l, l];
            int[,] m1 = new int[c, c];
            int[,] result = new int[r, r];
            int sum = 0;
            Random a = new Random();
 
            // Задаем случайную матрицу и выводим на экран
            for ( i = 0; i < l; i++)
            {
                for ( j = 0; j < l; j++)
                {
                    m[i, j] = a.Next(0, 100);
                    Console.Write(/*" \t" +*/"  " +m[i, j]+"  ");
                }
                Console.WriteLine();
            }
 
            // Задаем случайную матрицу и выводим на экран
            for ( t = 0; t < c; t++)
            {
                for ( k = 0; k < c; k++)
                {
                    m[t, k] = a.Next(0, 100);
                    Console.Write(/*" \t" +*/" " + m[t, k]);
                }
 
                Console.WriteLine();
            }
            // Вводим знак операции с элементами матриц 
            Console.Write("Введите знак операции с элементами матрицы:");
            mC = new MatchConsole();//создаём объект класса 
            mC.выборДействия(Console.ReadLine());
            string z = mC.выборДействия(Console.ReadLine());// обращаемся к методу выборДействия
              // Результат сложения новый массив       
            for (int e = 0; e < result.Length;++e )
            {
                for (int n = 0; n < result.Length; ++n)
                {
                    if (z == "+")
                    {
                        result[e,n] = mC.сложение(m[i, j], m[t, k]);
                        Console.Write(/*" \t" +*/" " + result[e, n]);
                    }
                }
            }
                    
            Console.ReadKey();
 
        }
    }
}

Решение задачи: «Почему не складываются элементы двух матриц?»

textual
Листинг программы
 static void Main(string[] args)
        {
             MathConsole mC;
            short l = 10; //l - колво строк (кол-во столбцов)
            short c = 10;
            short r = 10;
            int[,] m = new int[l, l];
            int[,] m1 = new int[c, c];
            int[,] result = new int[r, r];
            Random a = new Random();
 
            for ( int i = 0; i < l; i++)
            {
                for (int j = 0; j < l; j++)
                {
                    m[i, j] = a.Next(10, 21);
                    Console.Write(/*" \t" +*/" " + m[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
 
            for (int t = 0; t < c; t++)
            {
                for (int k = 0; k < c; k++)
                {
                    m1[t, k] = a.Next(10, 21);
                    Console.Write(/*" \t" +*/" " + m1[t, k]);
                }
 
                Console.WriteLine();
            }
            Console.Write("Введите знак операции с элементами матриц m и m1:");
            mC = new MathConsole();//создаём объект класса 
 
            string z = mC.selectTheAction(Console.ReadLine());
            if (z == "+")
            {
                for (int e = 0; e < r; e++)
                {
                    for (int n = 0; n < r; n++)
                    {
                        result[e, n] = mC.addition(m[e, n], m1[e, n]);
                        Console.Write(/*" \t" +*/" " + result[e, n]);
                    }
                    Console.WriteLine();
                }
            }
            else if (z == "-")
            {
                for (int e = 0; e < r; e++)
                {
                    for (int n = 0; n < r; n++)
                    {
                        result[e, n] = mC.subtraction(m[e, n], m1[e, n]);
                        Console.Write(/*" \t" +*/" " + result[e, n]);
                    }
                    Console.WriteLine();
                }
            }
 
            Console.ReadKey();
        }

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


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

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

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