Почему не складываются элементы двух матриц? - 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();
}