.NET 4.x Запись результата в текстовый файл? - C#
Формулировка задачи:
Как записать в файл все данные которые выводиться с консоли?
using System; using System.Threading; using log4net; using log4net.Config; using System.IO; namespace Application { class Program { static void Main(string[] args) { int n1, n2, n3; Logger.InitLogger();//инициализация - требуется один раз в начале Logger.Log.Info("Ура заработало!"); Logger.Log.Error("Ошибочка вышла!"); Console.Write("Параллельне перемноження матриць - "); Console.Write("\nВведiть розмiрнiсть матрицi A(n1 x n2): \nn1 = "); n1 = Convert.ToInt32(Console.ReadLine()); Console.Write("n2 = "); n2 = Convert.ToInt32(Console.ReadLine()); Console.Write("\nВведiть розмiрнiсть матрицi B(n2 x n3): n2 = {0} x n3 = ", n2); n3 = Convert.ToInt32(Console.ReadLine()); Console.Write("Данi матрицi будуть заповненнi параллельно: стрiчковим способом..... "); Console.Write("\nВведiть кiлькiсть використовуюмих потокiв"); Console.Write("(Кiлькiть потокiв повидо бути кратним змiннiй n1) - "); int TreadAmount = Convert.ToInt32(Console.ReadLine()); if (n1 % TreadAmount != 0) { Console.Write("\nКiлькiть потокiв не кратне кiлькостi рядкiв матрицi!"); Console.ReadKey(); return; } else { double[,] MatrixA = new double[n1, n2]; double[,] MatrixB = new double[n2, n3]; double[,] MatrixC = new double[n1, n2]; Console.Write("Матриця А и В будут заполнятися випадковими числами....\n"); //Создание потоков for (int i = 0; i < TreadAmount; i++) { Rndthread nam = new Rndthread(i, MatrixA, MatrixB, n1, n2, n3, TreadAmount); } Thread.Sleep(500); Console.ResetColor(); //Вывод матриц А и В----------- Console.WriteLine("Для виводу матрицi А и В введiть 1, для продовжения нажмiть любу iншу клавiшу"); string one = Console.ReadLine(); if (one == "1") { Thread.Sleep(500); Console.ResetColor(); Console.WriteLine("\nМатриця А -"); for (int i = 0; i < n1; i++) { for (int j = 0; j < n2; j++) { Console.Write("{0}\t", MatrixA[i, j]); } Console.Write("\n"); } Console.WriteLine("\nМатриця B -"); for (int i = 0; i < n2; i++) { for (int j = 0; j < n3; j++) { Console.Write("{0}\t", MatrixB[i, j]); } Console.Write("\n"); } Console.WriteLine("Для перемноження матрицi А i В нажмiть любую клавiшу...."); Console.ReadKey(); } //------------------- Console.WriteLine("Перемноження......"); for (int i = 0; i < TreadAmount; i++) { MultiplyThread proc = new MultiplyThread(i, MatrixC, MatrixA, MatrixB, n1, n2, n3, TreadAmount); } Thread.Sleep(1300); Console.ResetColor(); Console.WriteLine("Для виводу матрицi С нажмiть любу клавiшу...."); Console.ReadKey(); Console.ResetColor(); Console.WriteLine("Вивiд матрицi {0} на {1}...", n1, n2); for (int i = 0; i < n1; i++) { for (int j = 0; j < n3; j++) { Console.Write("{0}\t", MatrixC[i, j]); } Console.Write("\n"); } Console.WriteLine("\nДля виходу iз программи нажмiть любу клавiшу...."); Console.ReadKey(); } } } }
Решение задачи: «.NET 4.x Запись результата в текстовый файл?»
textual
Листинг программы
using System; using System.Threading; using log4net; using log4net.Config; using System.IO; namespace Application { class Program { static void writer(string text) { Console.WriteLine(text); File.AppendAllText("РЕЗУЛЬТАТЫ.txt", text); } static void Main(string[] args) { int n1, n2, n3; Logger.InitLogger();//инициализация - требуется один раз в начале Logger.Log.Info("Ура заработало!"); Logger.Log.Error("Ошибочка вышла!"); writer("Параллельне перемноження матриць - "); writer("\nВведiть розмiрнiсть матрицi A(n1 x n2): \nn1 = "); n1 = Convert.ToInt32(Console.ReadLine()); writer("n2 = "); n2 = Convert.ToInt32(Console.ReadLine()); writer("\nВведiть розмiрнiсть матрицi B(n2 x n3): n2 = "+n2+" x n3 = "); n3 = Convert.ToInt32(Console.ReadLine()); writer("Данi матрицi будуть заповненнi параллельно: стрiчковим способом..... "); writer("\nВведiть кiлькiсть використовуюмих потокiв"); writer("(Кiлькiть потокiв повидо бути кратним змiннiй n1) - "); int TreadAmount = Convert.ToInt32(Console.ReadLine()); if (n1 % TreadAmount != 0) { writer("\nКiлькiть потокiв не кратне кiлькостi рядкiв матрицi!"); Console.ReadKey(); return; } else { double[,] MatrixA = new double[n1, n2]; double[,] MatrixB = new double[n2, n3]; double[,] MatrixC = new double[n1, n2]; writer("Матриця А и В будут заполнятися випадковими числами....\n"); //Создание потоков for (int i = 0; i < TreadAmount; i++) { Rndthread nam = new Rndthread(i, MatrixA, MatrixB, n1, n2, n3, TreadAmount); } Thread.Sleep(500); Console.ResetColor(); //Вывод матриц А и В----------- writer("Для виводу матрицi А и В введiть 1, для продовжения нажмiть любу iншу клавiшу"); string one = Console.ReadLine(); if (one == "1") { Thread.Sleep(500); Console.ResetColor(); writer("\nМатриця А -"); for (int i = 0; i < n1; i++) { for (int j = 0; j < n2; j++) { writer(MatrixA[i, j]+"\t"); } writer("\n"); } writer("\nМатриця B -"); for (int i = 0; i < n2; i++) { for (int j = 0; j < n3; j++) { writer(MatrixB[i, j]+"\t"); } writer("\n"); } writer("Для перемноження матрицi А i В нажмiть любую клавiшу...."); Console.ReadKey(); } //------------------- writer("Перемноження......"); for (int i = 0; i < TreadAmount; i++) { MultiplyThread proc = new MultiplyThread(i, MatrixC, MatrixA, MatrixB, n1, n2, n3, TreadAmount); } Thread.Sleep(1300); Console.ResetColor(); writer("Для виводу матрицi С нажмiть любу клавiшу...."); Console.ReadKey(); Console.ResetColor(); writer("Вивiд матрицi "+n1+" на "+n2+"..."); for (int i = 0; i < n1; i++) { for (int j = 0; j < n3; j++) { writer(MatrixC[i, j]+ "\t"); } writer("\n"); } writer("\nДля виходу iз программи нажмiть любу клавiшу...."); Console.ReadKey(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д