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

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

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

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

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

textual
Листинг программы
  1.     class Program
  2.     {
  3.         public static void Main()
  4.         {
  5.             double min, max, step;
  6.             string fileName;
  7.  
  8.             Console.WriteLine("Введите минимум");
  9.             while (!double.TryParse(Console.ReadLine(), out min))
  10.                 Console.WriteLine("Неправильное число");
  11.  
  12.             Console.WriteLine("Введите максимум");
  13.             while (!double.TryParse(Console.ReadLine(), out max))
  14.                 Console.WriteLine("неправильное число");
  15.  
  16.             Console.WriteLine("Введите шаг");
  17.             while (!double.TryParse(Console.ReadLine(), out step))
  18.                 Console.WriteLine("неправильное число");
  19.  
  20.             Console.WriteLine("Введите Имя Файла Результатов");
  21.             while ((fileName = Console.ReadLine()).Length <= 0)
  22.                 Console.WriteLine("неправильное название файла");
  23.  
  24.             if (fileName.Length > 3)
  25.             {
  26.                 if (fileName.IndexOf(".txt", fileName.Length - 5) < 0)
  27.                     fileName = fileName + ".txt";
  28.             }
  29.             else
  30.                 fileName = fileName + ".txt";
  31.  
  32.             FileStream fs = new FileStream(fileName, FileMode.Create);
  33.             StreamWriter sw = new StreamWriter(fs);
  34.  
  35.             sw.WriteLine("аргумент\tзначение функции");
  36.  
  37.             for (double y = min; y <= max; y += step)
  38.                 sw.WriteLine(y.ToString() + "\t" + (Math.Cos(y) * y).ToString());
  39.  
  40.             sw.Close();
  41.  
  42.             Console.WriteLine("Нажмите любую клавишу чтобы узнать среднее арифметическое");
  43.             Console.ReadKey();
  44.  
  45.             string[] sResult;
  46.             string s;
  47.             double summ = 0;
  48.             int count = 0;
  49.  
  50.             fs = new FileStream(fileName, FileMode.Open);
  51.             StreamReader sr = new StreamReader(fs);
  52.             sr.ReadLine(); // пропустить первую строку
  53.  
  54.             while ((s = sr.ReadLine()) != null)
  55.             {
  56.                 sResult = s.Split('\t');
  57.                 summ += double.Parse(sResult[1]);
  58.                 count++;
  59.             }
  60.  
  61.             fs.Close();
  62.             sr.Close();
  63.  
  64.             double average = summ / count;
  65.             Console.WriteLine("Среднее арифметическое = {0}", average);
  66.  
  67.             Console.ReadKey();
  68.         }

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


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

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

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы