Результат поэлементного сложения, вычитания и произведения матриц - 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д