C#

Посчитать ряд Тейлора на С++

using System;
using System.Globalization;
namespace Answer {
class Program {
static void Main() {
var xn = InputArgument("Xнач.: ");
var xk = InputArgument("Xкон.: ");
var dx = InputArgument("dX: ");
var end = xk + dx / 10.0;
var n = 1;
for (var e = 0.1; e > 1e-16; e /= 10, ++n) {
Console.WriteLine("\tПри e = " + e.ToString("F" + n.ToString(), CultureInfo.InvariantCulture) + "\n");
for (var x = xn; x < end; x += dx) {
var box = SumMean(x, e);
var a = x.ToString("F3", CultureInfo.InvariantCulture);
var b = box.sum.ToString("F" + n.ToString(), CultureInfo.InvariantCulture);
var c = box.count.ToString();
Console.WriteLine("{0,7}{1,20}{2,6}", a, b, c);
}
Console.WriteLine();
}
Console.ReadKey();
}
struct Box {
public double sum;
public int count;
}
static Box SumMean(double x, double e) {
var next = x;
var count = 1;
var n = 3;
double prev;
do {
prev = next;
next += Math.Pow(x, n) / n;
++count;
n += 2;
} while (next - prev > e);
Box box;
box.sum = 2 * next;
box.count = count;
return box;
}
static double InputArgument(string msg) {
double value;
do {
Console.Write(msg);
} while (!double.TryParse(Console.ReadLine(), out value) && Math.Abs(value) < 1.0);
return value;
}
}
}

P.S. Это категория для ответов на C#
Олежка Гот
Олежка Гот
85 733
Лучший ответ