Уравнение (списки)
Добавлено: 16 авг 2013, 05:21
Здраствуйте! Подскажите пожалуйста как вычислить по данному уравнению:
Даны натуральное число n, действительные числа x1, ...xn. Вычислить:
в) (x1 + x2 + 2xn)(x2 + x3 + 2xx-1)... (xn-1 + xn + 2x2).
Для решения этой задачи полезен список, изображенный на рис. 27.
[ATTACH]1733[/ATTACH]
Программный код(писал на pascal ABC.NET):
program max;
type
ukazatel=^s;
s=record
data:integer;
next:ukazatel;
prev:ukazatel;
end;
var
b,i,a:integer;
x,x2,x3,n:ukazatel;
begin
write('Введите количество эелементов:');
read(b);
for i:=1 to b do
begin
write('Введите номер', i ,' элемента:');
read(a);
new(x);
x^.data:=a;
x^.next:=x2;
x^.prev:=nil;
new(x2);
x2^.data:=a;
x2^.next:=x3;
x2^.prev:=x2;
new(x3);
x3^.data:=a;
x3^.next:=n ;
x3^.prev:=x ;
new(n);
n^.data:=a;
n^.next:=x3 ;
n^.prev:=nil ;
end;
end.
Даны натуральное число n, действительные числа x1, ...xn. Вычислить:
в) (x1 + x2 + 2xn)(x2 + x3 + 2xx-1)... (xn-1 + xn + 2x2).
Для решения этой задачи полезен список, изображенный на рис. 27.
[ATTACH]1733[/ATTACH]
Программный код(писал на pascal ABC.NET):
program max;
type
ukazatel=^s;
s=record
data:integer;
next:ukazatel;
prev:ukazatel;
end;
var
b,i,a:integer;
x,x2,x3,n:ukazatel;
begin
write('Введите количество эелементов:');
read(b);
for i:=1 to b do
begin
write('Введите номер', i ,' элемента:');
read(a);
new(x);
x^.data:=a;
x^.next:=x2;
x^.prev:=nil;
new(x2);
x2^.data:=a;
x2^.next:=x3;
x2^.prev:=x2;
new(x3);
x3^.data:=a;
x3^.next:=n ;
x3^.prev:=x ;
new(n);
n^.data:=a;
n^.next:=x3 ;
n^.prev:=nil ;
end;
end.