Помощь - Поиск - Пользователи - Календарь
Полная версия: Динамические структуры
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Feiqin
Задание такое : Имеется два списка в один заносятся числа и в другой, задача вывести в третий список те элименты которые есть и в первом и во втором, т.е надо сравнить элименты в обоих списках и вывести одинаковые, заполнение списков я сделал, а вот чтобы пройти по спискам и вывести одинаковые элименты не знаю подскажите плиз.Задание под консоль.


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.

volvo
Дубликат?
Динамические списки

(я тебе там написал, как это можно реализовать)...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.