Сформировать массив по правилу - C# (196533)
Формулировка задачи:
Помогите с этим ужасом.. Буду благодарна.
Сформировать динамический массив А состоящий из N элементов (количество элементов
вводится с клавиатуры). Элементы массива А с четными индексами определяются по зависимости:
Ai=f(xi)
где xi – случайное число из диапазона i … N .
Элементы массива А с нечетными индексами – по зависимости:
где xi
– случайное число из диапазона i … 2N .
Значение функции f(xi):
f(xi)=|sinx/3,12+cosx2|–8,3sin3x
Записать массив в файл (имя файла вводится с клавиатуры) в папку Mas в папке проекта.
Решение задачи: «Сформировать массив по правилу»
textual
Листинг программы
using System; using System.IO; using System.Linq; namespace test { internal class Program { public static void Main(string[] args) { Console.WriteLine("Введите N:"); int n = Convert.ToInt32(Console.ReadLine()); double[] generateArray = GenerateArray(10); Console.WriteLine("Введите имя файлы:"); string name = Console.ReadLine(); SaveToFile(name, generateArray); } private static double[] GenerateArray(int n) { double[] a = new double[n]; Random rnd = new Random(); for (int i = 0; i < n; i++) { a[i] = i % 2 == 0 ? (n - i) * rnd.NextDouble() + i : // Четный индекс Math.Sqrt((n * 2 - i) * rnd.NextDouble() + i); // Нечетный индекс } return a; } private static double F(double x) { return Math.Abs(Math.Sin(x) / 3.12 + Math.Cos(x * x)) - 8.3 * Math.Sin(3 * x); } private static void SaveToFile(string fileName, double[] arr) { const string dirName = @"Mass"; // Проверка существует ли директория if (!Directory.Exists(dirName)) Directory.CreateDirectory(dirName); // Добавляем txt расширение fileName = Path.ChangeExtension(fileName, "txt"); // Добавляем путь папки fileName = Path.Combine(dirName, fileName); // Если файл существует удаляем File.WriteAllLines(fileName, arr.Select(Convert.ToString)); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д