1

Тема: допоможіть будь ласка із задачею

завдання:Сформувати динамічний рядок, вивести його на друк, якщо пере-
достаннім символом є літера “К”, то логічній змінній L присвоїти
значення TRUE
\



ось мій спроба,але помилок там багацько,намагалась виправити але не виходить(


program lab12(input,output);
zv= ^pointer;
pointer=record
elem:char;
next:zv;
end;
var
vslov,vlan:zv;
sym:char;
k,n:integer;
k,l:boolean;
begin
writeln('vvedit literu z klaviatury');
read(sym);
new(vslov);
vslov^.elem:=sym;
vslov^.next:=nil;
vlan:=vslov;
repeat
read(sym);
next(vlan^.next);
vlan:=vlan^.next;
vlan^.eelm:sym;
vlan^.next:=nil;
until sym='#';
k:=0;
vlan:=vslov;
while vlan^.next<> nil do
begin
if s[n-1]=k then L:=true
n:=lenght(s);
end;
vlan:=vlan^.next;
end;
writeln('result k',k);
writeln('vvestu literu');
vlan:vslov;
while vlan^.next <>nil do
begin
write(vlan^.elem);
end;
end.

2

Re: допоможіть будь ласка із задачею

Додайте тег code, відступи і опис помилок (текст помилки, в якому рядку).

3

Re: допоможіть будь ласка із задачею

вимагає перед zv  begin , але там 100% не в тому справа

4

Re: допоможіть будь ласка із задачею

Так, там має бути не begin, а type.

5 Востаннє редагувалося Itari (21.11.2015 18:32:09)

Re: допоможіть будь ласка із задачею

zv= ^pointer;

Де ключове слово type?

k,n:integer;
k,l:boolean;

Чому ім'я "к" повторюється?

next(vlan^.next);

Що це таке? Де функція next? Можливо ти хотів написати

next:=vlan^.next;

?

vlan^.eelm:sym;

Що це за "очеп'ятка"?

if s[n-1]=k then L:=true

Що це за "s" таке? Навіщо, і де його введення?

...далі буде.

6

Re: допоможіть будь ласка із задачею

ну так там є помилки,але якби я знала як це робити я б тут не писала..

7 Востаннє редагувалося Itari (21.11.2015 17:30:49)

Re: допоможіть будь ласка із задачею

Добрє. Тоди
Введення:

vlan:=nil; vslov:=nil; Last:=nil;
repeat
 readln(sym);
 new(vslov);
 if Last<>nil then Last^.Next:=vslov;
 Last:=vslov;
 if vlan=nil then vlan:=vslov;
 vslov^.next:=nil;
 vslov^.elem:=sym;
until sym='#';

Last такого же типу, як й vlan
Виведення:

vslov:=vlan;
while vslov<>nil do begin
 writeln(vslov^.elem);
 vslov:=vslov^.next;
end;

Почни з цих двох прикладів, а потім можно й умову завдання доправити до програми.

8

Re: допоможіть будь ласка із задачею

Ви хочете сказати, що написали програму на 30 рядків з типами, циклами, вказівниками і булевими змінними, але не можете зрозуміти, що вам тут кажуть?