Записать в текстовый файл результат расчёта функции f(y) - C# (185975)

Узнай цену своей работы

Формулировка задачи:

Задание 1). Записать в текстовый файл результат расчёта функции f(y).Результат должен быть записан в виде двух столбцов - аргумента и значения функции от данного аргумента. Начало и конец диапазона, имя файла, а также шаг вводить с клавиатуры. Задание: f(y)=cos(y)*y Задание 2). Считать файл, вывести на экран среднее арифметическое

Решение задачи: «Записать в текстовый файл результат расчёта функции f(y)»

textual
Листинг программы
    class Program
    {
        public static void Main()
        {
            double min, max, step;
            string fileName;
 
            Console.WriteLine("Введите минимум");
            while (!double.TryParse(Console.ReadLine(), out min))
                Console.WriteLine("Неправильное число");
 
            Console.WriteLine("Введите максимум");
            while (!double.TryParse(Console.ReadLine(), out max))
                Console.WriteLine("неправильное число");
 
            Console.WriteLine("Введите шаг");
            while (!double.TryParse(Console.ReadLine(), out step))
                Console.WriteLine("неправильное число");
 
            Console.WriteLine("Введите Имя Файла Результатов");
            while ((fileName = Console.ReadLine()).Length <= 0)
                Console.WriteLine("неправильное название файла");
 
            if (fileName.Length > 3)
            {
                if (fileName.IndexOf(".txt", fileName.Length - 5) < 0)
                    fileName = fileName + ".txt";
            }
            else
                fileName = fileName + ".txt";
 
            FileStream fs = new FileStream(fileName, FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
 
            sw.WriteLine("аргумент\tзначение функции");
 
            for (double y = min; y <= max; y += step)
                sw.WriteLine(y.ToString() + "\t" + (Math.Cos(y) * y).ToString());
 
            sw.Close();
 
            Console.WriteLine("Нажмите любую клавишу чтобы узнать среднее арифметическое");
            Console.ReadKey();
 
            string[] sResult;
            string s;
            double summ = 0;
            int count = 0;
 
            fs = new FileStream(fileName, FileMode.Open);
            StreamReader sr = new StreamReader(fs);
            sr.ReadLine(); // пропустить первую строку
 
            while ((s = sr.ReadLine()) != null)
            {
                sResult = s.Split('\t');
                summ += double.Parse(sResult[1]);
                count++;
            }
 
            fs.Close();
            sr.Close();
 
            double average = summ / count;
            Console.WriteLine("Среднее арифметическое = {0}", average);
 
            Console.ReadKey();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы