Лаба 5
.docxllЗадание 1. Записать выходной файл, разделив все нечетные по абсолютной величине числа на среднее арифметическое.
using System;
using System.IO;
using System.Linq;
namespace TextFileTasks
{
class Program
{
static void Main(string[] args)
{
// создаем текстовый файл с 20 случайными числами
Random random = new Random();
using (StreamWriter writer = new StreamWriter("laba_5.txt"))
{
for (int i = 0; i < 20; i++)
{
writer.WriteLine(random.Next(-100, 101));
}
}
// читаем входной файл и записываем выходной файл
double sum = 0;
int count = 0;
using (StreamReader reader = new StreamReader("laba_5.txt"))
using (StreamWriter writer = new StreamWriter("laba_5_new.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
int number = int.Parse(line);
if (Math.Abs(number) % 2 != 0)
{
sum += number;
count++;
writer.WriteLine(number);
}
else
{
writer.WriteLine(line);
}
}
}
// дописываем в конец выходного файла среднее арифметическое
double average = sum / count;
using (StreamWriter writer = new StreamWriter("laba_5_new.txt", true))
{
writer.WriteLine($"Среднее арифметическое: {average}");
}
Console.WriteLine("Готово. Нажмите любую клавишу для выхода.");
Console.ReadKey();
}
}
}
// Путь к файлу: Пользователи -> emotb -> source -> repos -> Laba 3 -> Laba 3 -> bin -> Debug -> net 6.0
Задание 2. Посчитать количество запятых в тексте.
// try-catch – используется для определения определенного блока кода, выбрасывает исключение, сначала идет блок try, затем catch.
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
string text = File.ReadAllText("laba_5_2.txt"); // Загрузка текстового файла
int count = text.Split(',').Length - 1; // Подсчет количества запятых в файле
Console.WriteLine("Количество запятых в файле: " + count);
}
catch (FileNotFoundException)
{
Console.WriteLine("Файл не найден");
}
catch (Exception e)
{
Console.WriteLine("Ошибка: " + e.Message);
}
}
}