Else begin. Writeln('Введите значение',i,' элемента')

q:=p;

New(p);

q^.next:=p;

end;

p^.next:=nil;

Writeln('Введите значение',i,' элемента');

readln(zna);

p^.zn:=zna;

end;

// функция определения конца списка

Function GoNext:boolean;

Begin

if p^.next <> nil then

Begin

p:=p^.next;

GoNext:=true;

End

else GoNext:=false

end;

//функция освобождения памяти и вывода элементов списка

Function DisposeAll:boolean;

var q:aa;

Begin

p:=s;

while p<>nil do

Begin

q:=p^.next;

write(p^.zn,' ');

Dispose(p);

p:=q;

end;

writeln;

writeln('Освобождение памяти...');

DisposeAll:=true;

end;

begin //операторы основной программы

s:=nil; // nil- признак конца списка

writeln('Введите количество элементов списка');

readln(kol);

for i:=1 to kol do //создание списка

Addsp;

p:=s; //установка р на начало списка

Repeat

if p^.zn>0 then

sum:=sum+p^.zn; //суммируем положительные элементы

until not gonext;

if sum=0 then writeln('в списке нет полож. элементов')

else writeln('sum=',sum);

DisposeAll;

End.

Результаты решения задачи:

Введите количество элементов списка

Введите значение1 элемента

Введите значение2 элемента

Введите значение3 элемента

Введите значение4 элемента

-56

sum=8

3 5 0 -56

Освобождение памяти...

Методические указания по методике отладки программ в интегрированной среде PascalABC


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: