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