Пмогите пожалуйста. Никак не получается реализовать в виде списков внешнее произведение векторов:
(c1c2c3c4...cn2)=(a1a2a3a4..an)(b1b2b3b4..bn)=(a1b1,a1b2,a1b3,a1b4,..anbn-1,anbn)
тип список(sp) описан так:
type
sp=^s;
s=record
info:integer;
link:sp;
end;
"Никак не получается" - значит, что я никак не могу придумать, как это сделать со списками.
write('vvedite dlinnu vectorov:'); read(l);
write('vvedite elementi vectora a:');
a:=nil;
for i:=1 to l do begin
New(q);
q^.link:=a;
read(s);
q^.info:=s;
a:=q;
end;
Произведение
(a1, a2, a3, a4, a5) X (b1, b2, b3, b4, b5)
полностью распиши (БЕЗ многоточий. Я думаю, тебя не устроит, если я в программе на самом интересном для тебя месте поставлю <...>)?
(a1, a2, a3, a4, a5) X (b1, b2, b3, b4, b5) =(a1b1, a1b2, a1b3, a1b4, a1b5, a2b1, a2b2, a2b3, a2b3, a2b4, a2b5, a3b1, a3b2, a3b3, a3b4, a3b5, a4b1, a4b2, a4b3, a4b4, a4b5, a5b1, a5b2, a5b3, a5b4, a5b5)
Тогда - вот так:
{ Ввод списков A, B }
c := nil;
q := a;
while q <> nil do begin
r := b;
while r <> nil do begin
New(T);
T^.link := c;
T^.info := q^.info * r^.info;
c := T;
r := r^.link;
end;
q := q^.link;
end;
{ Вывод списка C }
volvo, спасибо тебе огромное.