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

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


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

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

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