Даны два списка L1 и L2 вещественных чисел. Написать подпрограммы,
возвращающие новый список L, включающий по
одному разу числа, которые:
а) входят одновременно в оба списка;
б) входят хотя бы в один из списков;
в) входят в один из списков L1 и L2, но в то же время не входят
в другой из них;
г) входят в список L1 но не входят в список L2.
Но главное что я хочу понять это как сравнивать элементы в каждом из списков друг с другом и чтобы этот принцип можно было применить в моей задаче? и вопрос 2: что в моей задаче означает выделенная синим цветом строка?
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
pe=^spisok;
spisok=record
t:real;
p:pe;
end;
var
elem, beg,elem2,beg2,elem3,beg3:pe;
ch:char; n, a,b:integer;
begin
//------------заполняем первый список--------
new(elem); beg:=elem;
elem^.p:=elem;
while true do
begin
Write('Vvedite_choslo.: ');
Readln(Elem^.t);
write('Povtorit_vvod y/n');
readln(ch);
if (ch='n') then begin
elem^.p:=nil;
break;
end else
begin
new(elem^.p);
elem:=elem^.p;
end;
end;
//------------заполняем второй список--------
new(elem2); beg2:=elem2;
elem2^.p:=elem2;
while true do
begin
Write('Vvedite_choslo_vo_vtoroi.: ');
Readln(Elem2^.t);
write('Povtorit_vvod y/n');
readln(ch);
if (ch='n') then begin
elem2^.p:=nil;
break;
end else
begin
new(elem2^.p);
elem2:=elem2^.p;
end;
//вот сдесь должно быть сравнение списков и занесение их в третий???
end;
Writeln('-------------------------');
writeln('Vivod_1-go');
elem:=beg;
n:=0;
repeat
inc(n);
writeln(N,':',elem^.t:3:2);
elem:=elem^.p;
until elem=nil;
Writeln('--------------------------');
writeln('Vivod_2-go');
elem2:=beg2;
n:=0;
repeat
inc(n);
writeln(N,':',elem2^.t:3:2);
elem2:=elem2^.p;
until elem2=nil;
readln;
end.