Перемножение двух матриц которые хранятся в разных файлах - C#

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

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

Ребят, всем привет. такая проблема: надо рассчитать произведение двух матриц, которые хранятся в разных файлах. Сидел около 5 часов, никак не получилось сделать. То ли я тупой, то ли из-за болезни)))

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

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4.  
  5. namespace ConsoleApplication5
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             string[] massiv = File.ReadAllLines("f:/test.txt");
  12.             string[] massiv1 = File.ReadAllLines("f:/test2.txt");
  13.             int[,] arr = new int[3, 3];
  14.             int[,] arr1 = new int[3, 3];
  15.             // разобрать в массив
  16.             for (int i = 0; i < 3; i++)
  17.             {
  18.                 int[] row = massiv[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  19.                 for (int j = 0; j < 3; j++)
  20.                 {
  21.                     arr[i, j] = row[j];
  22.                 }
  23.             }
  24.             // разобрать в массив
  25.             for (int i = 0; i < 3; i++)
  26.             {
  27.                 int[] row = massiv1[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  28.                 for (int j = 0; j < 3; j++)
  29.                 {
  30.                     arr1[i, j] = row[j];
  31.                 }
  32.             }      
  33.             Console.WriteLine("Матрица1:");
  34.             for (int i = 0; i < 3; i++)
  35.             {
  36.                 for (int j = 0; j < 3; j++)
  37.                 {
  38.                     Console.Write(arr[i, j]);
  39.                 }
  40.                 Console.WriteLine(" ");
  41.             }
  42.  
  43.             Console.WriteLine("Матрица2:");
  44.             for (int i = 0; i < 3; i++)
  45.             {
  46.                 for (int j = 0; j < 3; j++)
  47.                 {
  48.                     Console.Write(arr1[i, j]);
  49.                 }
  50.                 Console.WriteLine(" ");
  51.             }
  52.  
  53.             int[,] arr2 = Multiplication(arr, arr1);
  54.             Console.WriteLine("Произведение матриц:");
  55.             for (int i = 0; i < 3; i++)
  56.             {
  57.                 for (int j = 0; j < 3; j++)
  58.                 {
  59.                     Console.Write(arr2[i, j]);
  60.                 }
  61.                 Console.WriteLine(" ");
  62.             }
  63.  
  64.             Console.ReadKey();
  65.         }
  66.         static int[,] Multiplication(int[,] a, int[,] b)
  67.         {
  68.             int[,] r = new int[a.Length, b.Length];        
  69.                 for (int i = 0; i < b.GetLength(1); i++)
  70.                 {
  71.                     for (int j = 0; j < b.GetLength(0); j++)
  72.                     {
  73.                     r[i, j] = 0;
  74.                     for (int k = 0; k < b.GetLength(0); k++)
  75.                     {
  76.                         r[i, j] += a[i, k] * b[k, j];
  77.                     }
  78.                     }
  79.                 }          
  80.             return r;
  81.         }
  82.     }
  83. }

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


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

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

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы