Advertisement
Guest User

matrix.cs

a guest
Mar 28th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.90 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Matrix
  9. {
  10.     class Matrix : IMatrix
  11.     {
  12.        private List<List<string>> _matrix = new List<List<string>>();
  13.  
  14.        private int _columns;
  15.         private int _rows;
  16.         public void Read(Stream stream)
  17.         {
  18.             stream.Seek(0, SeekOrigin.Begin);
  19.             var streamReader = new StreamReader(stream);
  20.             var matrix = streamReader.ReadToEnd();
  21.  
  22.             var parts = matrix.Split('\n');
  23.             var rows = parts.Length;
  24.             var columns = -1;
  25.        
  26.             foreach (var part in parts)
  27.             {
  28.                 var p = part.Split(' ');
  29.                 columns = p.Length;
  30.  
  31.                 var list = new List<string>();
  32.  
  33.                 foreach (var s in p)
  34.                 {
  35.                     list.Add(s);
  36.                 }
  37.                 _matrix.Add(list);
  38.                 Console.WriteLine(_matrix);
  39.                 Console.ReadLine();
  40.             }
  41.         }
  42.  
  43.         public void Transpose()
  44.         {
  45.             throw new NotImplementedException();
  46.         }
  47.  
  48.         public void Write(Stream stream)
  49.         {
  50.             var stringBuilder = new StringBuilder();
  51.  
  52.             for (int j = 0; j < _columns; j++)
  53.             {
  54.                 for (int i = 0; i < _rows; i++)
  55.                 {
  56.                     stringBuilder.Append(_matrix[i][j]);
  57.                     if (i != _rows)
  58.                     {
  59.                         stringBuilder.Append(" ");
  60.                     }
  61.                 }
  62.                 stringBuilder.Append('\n');
  63.  
  64.             }
  65.  
  66.             var result = stringBuilder.ToString();
  67.  
  68.             var streamWriter = new StreamWriter(stream);
  69.             streamWriter.Write(result);
  70.             Console.WriteLine(result);
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement