НН
Наталия Немировская

Помогите перевести код с паскаля на PHP

Есть кусок кода на паскале:
for i:=1 to n do R:=0;
for i:=1 to n do
begin
ct:=1;pt[1]:=1;k:=1;
for j:=1 to n do
if i<>j then
begin
ct:=ct*(x-x[j]);
pt[k+1]:=1;
if k>1 then
for m:=k downto 2 do
pt[m]:=pt[m-1]-pt[m]*x[j];
pt[1]:=-pt[1]*x[j];
k:=k+1;
end;
u:=y/ct;
for m:=1 to n do
r[m]:=r[m]+pt[m]*u;
end;

Пытался самостоятельно "перевести" его на PHP:

for ($i = 1; $i <= 5; $i++)
$r[$i]=0;
for ($i = 1; $i <= 5; $i++)
{
$ct=1;$pt[1]=1;$k=1;
for ($j = 1; $j <= 5; $j++)
{
if ($i!=$j)
{
$ct=$ct*($x[$i]-$x[$j]);
$pt[$k+1]=1;
if ($k>1)
for ($m = $k; $m >= 2 ; $m--)
{
$pt[$m]=$pt[$m-1]-$pt[$m]*$x[$j];
}
$pt[1]=-$pt[1]*$x[$j];
$k=$k+1;
}
}
$u=$y[$i]/$ct;
for ($m = 1; $m <= 5; $m++)
{
$r[$m]=$r[$m]+$pt[$m]*$u;
}
}

Вроде бы все правильно, но по одним и тем же исходным данных разные результаты.
Подскажите, где и что я пропустил?

n=5

ВА
Виктор Акиньшин

цвет видео что то такое

Га
Галина

ct:=ct*(x-x[j]); в паскале и $ct=$ct*($x[$i]-$x[$j]); в паскале отсутствует индекс

Алексей
Алексей

как бы
for i:=1 to n do R:=0;
for i:=1 to n do
begin
ct:=1;pt[1]:=1;k:=1;
for j:=1 to n do
if i<>j then
begin
ct:=ct*(x-x[j]);
pt[k+1]:=1;
if k>1 then
for m:=k downto 2 do
pt[m]:=pt[m-1]-pt[m]*x[j];
pt[1]:=-pt[1]*x[j];
k:=k+1;
end;
u:=y/ct;
for m:=1 to n do
r[m]:=r[m]+pt[m]*u;
end;

Пытался самостоятельно "перевести" его на PHP:

for ($i = 1; $i <= 5; $i++)
{
$ct=1;$pt[1]=1;$k=1;
for ($j = 1; $j <= $n; $j++)
{
if ($i!=$j)
{
$ct=$ct*($x[$i]-$x[$j]);
$pt[$k+1]=1;
if ($k>1){
for ($m = $k; $m >= 2 ; $m--)
{
$pt[$m]=$pt[$m-1]-$pt[$m]*$x[$j];
}
$pt[1]=-$pt[1]*$x[$j];
$k=$k+1;
}
}
}
$u=$y[$i]/$ct;
for ($m = 1; $m <= $n; $m++)
{
$r[$m]=$r[$m]+$pt[$m]*$u;
}
}
$u=$y[$i]/$ct; ---почему $y - массив?
условие дырявое было
вместо n поставили 5

Похожие вопросы
помогите расшифровать php код скрипта.
Помогите перевести формулу в Паскаль
Помогите! Php. Есть Php програмеры! Помогите мне! Код елементарный и не работает!
Помогите с кодом PHP
Помогите с кодом на Делфи/Паскаль...
Как вам код? (Паскаль)
Помогите найти фрагмент в коде php.
Помогите пожалуйста перевести код с с++ на паскаль
помогите перевести код паскаля в си
Помогите разобраться с кодом PHP