С - > C# Передача значений по ссылке и значению
Формулировка задачи:
Есть Си функция:
Нужно переписать её на C#. Моя попытка:
Вот только выдаёт она какую-то ересь. Возможные причины: 1). нужно явное приведение типов 2). нужно правильно передавать параметры (ref/out);
Где я ошибся?
double lagrange(double X, double *Xi, double *Yi, int n) //Аппроксимация многочленом Лагранжа.
{
int i, k;
double l, L=0;
for(i=1; i<=n; i++)
{
l=1;
for(k=1; k<=n; k++)
{
if(i==k)
l *= 1;
else
l *= (X-Xi[k])/(Xi[i]-Xi[k]);
}
L += l*Yi[i];
}
return L;
}
static double lagrange(double x, ref double[] Xi, ref double[] Yi, int n)
{
double l, L = 0;
for (int i = 0; i <= n; i++)
{
l = 1;
for (int k = 1; k <= n; k++)
{
if (i == k)
l *= 1;
else
l *= (x = Xi[k]) / (Xi[i] - Xi[k]);
}
L += l * Yi[i];
}
return L;
}Решение задачи: «С - > C# Передача значений по ссылке и значению»
textual
Листинг программы
(x = Xi[k])