.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();
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д