написать матрицу в текстовом файле в C # - PullRequest
2 голосов
/ 12 октября 2011

Я делаю это в C #

TextWriter tw = new StreamWriter("SQL_U.txt");
for (int j = 0; j < matrix.ColumnCount; j++)
{
     for (int i = 0; i < matrix.RowCount; i++)
     {
      tw.WriteLine(U[i, j] + " ");
     }
}
tw.Close();

но получите

-0,233694952850896 
-0,150092222507639 
-0,208798702657929 
-0,231787481025756 
-0,174773485921403 
-0,0407654849559224 
0,221253448397395 
0,186510884928728 
0,260534246686463 
0,187890851164781 
0,0878923620975135 
0,234198798909221 
0,291676946994878 
0,327785825667529 
0,237572713217582 
-0,0860652250783251 
-0,0421504222854907 
-0,00555780603925644 

вместо

-0,233694952850896 -0,150092222507639 -0,208798702657929 -0,231787481025756 
-0,174773485921403 -0,0407654849559224 .....

Как это исправить?

Ответы [ 2 ]

7 голосов
/ 12 октября 2011

Используйте Write вместо WriteLine, чтобы предотвратить запуск новой строки.Затем вставьте новую строку после завершения каждой строки.

using (TextWriter tw = new StreamWriter("SQL_U.txt"))
{
    for (int j = 0; j < matrix.ColumnCount; j++)
    {
        for (int i = 0; i < matrix.RowCount; i++)
        {
            tw.Write(U[i, j] + " ");
        }
        tw.WriteLine();
    }
}

Я также изменил ваш код, чтобы использовать using вместо вызова Close, чтобы устройство записи было правильно расположено, даже если есть исключение.

Используя этот метод, вы также пишете дополнительный пробел в конце каждой строки.Если это проблема, вы можете немного изменить свой код, чтобы условно записать это пространство в зависимости от индекса.

using (TextWriter tw = new StreamWriter("SQL_U.txt"))
{
    for (int j = 0; j < matrix.ColumnCount; j++)
    {
        for (int i = 0; i < matrix.RowCount; i++)
        {
            if (i != 0)
            {
                tw.Write(" ");
            }
            tw.Write(U[i, j]);
        }
        tw.WriteLine();
    }
}
0 голосов
/ 12 октября 2011

Это потому, что вы используете WriteLine, а не Write

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...