Помогите упростить программу. Я сам не вижу как это можно сделать. Учитель не принимает
Даны действительные числа а0,..,а5, d0,..,d5. Получить многочлен шестой степени
d0+d1(x-a0)+d2(x-a0)(x-a1)+…+d5(x-a0)(x-a1)…(x-a5).
const
a : array [1..6] of real = (2.0, 3.2, 1.2, -12.0, 1.5, 6.2);
d : array [1..6] of real = (-1.0, 2.2, 4.1, 10.1, 1/5, 2.1);
var
x,y : real;
begin
WriteLn('Введите значение x:');
ReadLn(x);
y:=d[1] + (x - a[1])*(d[2] + (x - a[2])*(d[3] +
(x - a[3])*(d[4] + (x - a[4])*(d[5] +
(x - a[5])*(d[6] + (x - a[6]))))));
WriteLn(y);
end.
y := 1;
for i := 6 downto 1 do
y := d[i] + (x - a[i])*y;
Спасибо! А я думал через замену что-ли. I'm a stupid
А как это будет выглядеть на С++?
y := 1;
for i := 6 downto 1 do
y := d[i] + (x - a[i])*y;
y=1;
for (int i=6;i>0;i--)
y=d[i]+(x-a[i])*y;
Ответы не сходятся?
какие ответы?
ты о чем?
Эта же программа на с++ выдает другие ответы. Но они должны соввпадать. До сокращения все ответы совпадали.
Приводи свои Сишные исходники до и после упрощения, посмотрим что ты наупрощал. Лучше - в раздел http://forum.pascal.net.ru/index.php?showforum=38
Добавлено через 1 мин.
P.S. Опять 1.0/5.0 забыл?
http://forum.pascal.net.ru/index.php?showtopic=21035