Помощь - Поиск - Пользователи - Календарь
Полная версия: Д. П.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
KOLYAN
Пацаны пожайлуста скажите в чем ошибка.(очень срочно)
(даны 2 списка, нужно одинаковые элементы этих списков поместить в 3 список)
вот код программы:
program CC2;
uses crt;
type
Pe=^TypElem;
TypElem=record
T:real;
P:Pe;
end;
var
L,elem,L1,elem1,L2,elem2: Pe;
n, i ,j, m:integer;
Ch:char;
begin

new(L1);
elem1:=L1;
L1^.P:=L1;
while L1^.P<>nil do
begin
write('введите элемент списка L1 ');
readln(L1^.t);
write('повторить ввод');
readln(Ch);
if (Ch='n') or (Ch='N') then
L1^.P:=nil
else begin
new(L1^.P);
L1:=L1^.P
end end;
writeln('ввод данных закончен');
L1:=elem1;
repeat
writeln(L1^.T);
L1:=L1^.P;
until L1=nil;
new(L2);
elem2:=L2;
L2^.P:=L2;
while L2^.P<>nil do
begin
write('введите элемент списка L2 ');
readln(L2^.T);
write('повторить ввод');
readln(Ch);
if (Ch='n') or (Ch='N') then
L2^.P:=nil
else begin
new(L2^.P);
L2:=L2^.P
end end;
writeln('ввод данных закончен');
L2:=elem2;
repeat
writeln(L2^.T);
L2:=L2^.P;
until L2=nil;
new(L);
elem:=L;
L:=nil;
while (L1<>nil) and (L2<>nil) do
if L1^.T=L2^.T then
begin
new(L);
L:=L^.P;
L1:=L1^.P;
L2:=L2^.P;
end;
L:=elem;
repeat
writeln(L^.T);
L:=L^.P;
until L=nil;
readln;
end.

Michael_Rybak
 ! 
Пользуемся тэгом code

KOLYAN
Где и вместо чего нужно использовать тэг Code
Client
вот такой, вместо твоего кода
мисс_граффити
new(L1);
elem1:=L1;
L1^.P:=L1;
while L1^.P<>nil do

ты уверен, что в L1^.P будет не nil?
и вообще, смысл присваивать указателю на следующий элемент указатель на текущий???
Посмотри в FAQ, как формируются списки.


repeat
writeln(L1^.T);
L1:=L1^.P;
until L1=nil;
...

while (L1<>nil) and (L2<>nil) do

угадай, попадешь ты в этот цикл или нет?

и вообще, форматирование человеческое сделай. отступы в программе - а то невозможно понять, что к какому циклу относится.

Цитата
Пацаны пожайлуста скажите в чем ошибка.(очень срочно)

ну как всегда.... конечно, существа женского пола не имеют права самостоятельно включать компьютер (только если муж разрешит 5 минут в косынку поиграть...). наше место - на кухне...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.