Мне дали на лабораторной работе задачи по Паскалю, но я его не так хорошо знаю Паскаль чтобы решить эту задачу. Помогите мне пожалуйста сделать эту задачу:
Сформировать однонаправленный список из звеном-заголовком.
Вывести его на печать.
Проверить, входит ли в этот список буква буква "К", если не входит, то дописать ее в конец списка.
поиск по форуму + FAQ
если мы сейчас напишем, то ты так никогда паскаль и не узнаешь.
Добрый вечер! Программу я написал, только что одна проблема букву "К" вставляет не в конце а в начале. Помогите решить проблему.
program laba4;
type
zv=^pointer;
pointer=record
elem:char;
next:zv
end;
var
find:boolean;
vlan, vslov:zv;
sym:char;
procedure vstav (lanka:zv; buk:char);
var
q:zv;
begin
if (lanka<>nil) then
new(q);
q^.elem:=buk;
q^.next:=lanka^.next;
lanka^.next:=q;
end;
begin
find:=false;
new (vslov);
vslov^.next:=nil;
vlan:=vslov;
writeln ('Введить символ до крапки');
repeat
read (sym);
vstav(vlan,sym);
vlan:=vlan^.next;
until sym='.';
writeln ('Сформований рядок');
vlan:=vslov;
vlan:=vlan^.next;
while vlan^.next<>nil do
begin
write (vlan^.elem);
vlan:=vlan^.next;
end;
vlan:=vslov;
while vlan^.next=nil do
begin
if vlan^.elem='K' then
begin
find:=true;
break;
end;
vlan:=vlan^.next;
end;
if find=true then writeln('Element e')
else
begin
vstav(vlan,'K');
writeln('Element vstavleno');
vlan:=vslov;
vlan:=vlan^.next;
repeat
write(vlan^.elem);
vlan:=vlan^.next
until vlan=nil;
writeln;
end;
end.
почему
while vlan^.next=nil do
if find=true then
if find then
Благодарю вас за помощь!
oфф.
24dima, ЗАЧЕМ ПИСАТЬ ТАКИМ ИТЕРЕСНЫМ ШРИФТОМ???