Результат поэлементного сложения, вычитания и произведения матриц - C#
Формулировка задачи:
В первой строке задано число N. Затем задаются две матрицы размером
NxN. На экран вывести результат поэлементного сложения матриц,
поэлементного вычитания матриц, и результат произведения матриц.
Например, если заданы следующие входные данные:
2
0 1
1 0
1 1
1 0
то должен быть выведен следующий результат:
1 2
2 0
Вычитание:
-1 0
0 0
Произведение:
1 0
1 1
я реализовал прогу так, чтобы две исходные матрицы задавались рандомом, а нужно чтобы массивы заполнялись с клавы, как это реализовать я недогоняю. Буду очень рад помощи
static void Main(string[] args)
{
Random ran = new Random();
int N = Convert.ToInt32(Console.ReadLine());
int[,] A1 = new int[N, N];
int[,] A2 = new int[N, N];
Console.WriteLine();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
A1[i, j] = ran.Next(0, 2);
Console.Write("{0}\t", A1[i, j]);
}
Console.WriteLine();
}
Console.WriteLine();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
A1[i, j] = ran.Next(0, 2);
Console.Write("{0}\t", A1[i, j]);
}
Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine("Сложение");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
Console.Write("{0}\t", A1[i, j] + A2[i, j]);
Console.WriteLine();
}
Console.WriteLine("Вычитание");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
Console.Write("{0}\t", A1[i, j] - A2[i, j]);
Console.WriteLine();
}
Console.WriteLine("Произведение");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
Console.Write("{0}\t", A1[i, j] * A2[i, j]);
Console.WriteLine();
}Решение задачи: «Результат поэлементного сложения, вычитания и произведения матриц»
textual
Листинг программы
static void Main(string[] args)
{
Console.WriteLine("Введите размерность квадратной матрицы");
int n = Convert.ToInt32(Console.ReadLine());
int[,] firstMatrix = new int[n, n];
int[,] secondMatrix = new int[n, n];
int[,] thirdMatrix = new int[n, n];
for (int i = 0; i<n;i++)
for (int k = 0; k < n; k++)
{
Console.WriteLine("Введите элемент {0},{1} первой матрицы",i+1, k+1);
firstMatrix[i, k] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < n; i++)
for (int k = 0; k < n; k++)
{
Console.WriteLine("Введите элемент {0},{1} второй матрицы", i+1, k+1);
secondMatrix[i, k] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("Ваши матрицы");
for (int i = 0; i < n; i++)
{
for (int k = 0; k < n; k++)
Console.Write("\t{0}", firstMatrix[i, k]);
Console.WriteLine();
}
Console.WriteLine();
for (int i = 0; i < n; i++)
{
for (int k = 0; k < n; k++)
Console.Write("\t{0}", secondMatrix[i, k]);
Console.WriteLine();
}
Console.WriteLine("Сложение:");
for (int i = 0; i < n; i++)
{
for (int k = 0; k < n; k++)
Console.Write("\t{0}", (secondMatrix[i, k] + firstMatrix[i, k]));
Console.WriteLine();
}
Console.WriteLine("Вычитание:");
for (int i = 0; i < n; i++)
{
for (int k = 0; k < n; k++)
Console.Write("\t{0}", (secondMatrix[i, k] - firstMatrix[i, k]));
Console.WriteLine();
}
for (int i = 0; i < n; i++)
for (int k = 0; k < n; k++)
for (int q = 0; q < n; q++)
thirdMatrix[i, k] += firstMatrix[i, q] * secondMatrix[q, k];
Console.WriteLine("Произведение:");
for (int i = 0; i < n; i++)
{
for (int k = 0; k < n; k++)
Console.Write("\t{0}", thirdMatrix[i, k]);
Console.WriteLine();
}
Console.ReadLine();
}