Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type Zveno = Record
- U: ^Zveno;
- BT: Integer;
- end;
- procedure addLast(var First: ^Zveno; X: Integer);
- Var Vsp, Tmp : ^Zveno;
- Begin
- New(Vsp);
- Vsp^.BT := X;
- Vsp^.U:= Nil;
- If First = Nil Then First := Vsp
- Else
- Begin
- Tmp := First;
- While (Tmp^.U) <> Nil Do Tmp := Tmp^.U;
- Tmp^.U := Vsp;
- End;
- End;
- Procedure Print(First : ^Zveno);
- Begin
- var temp: ^Zveno = First;
- If temp = Nil Then writeln('Пустой список!')
- Else
- Begin
- While temp <> Nil Do
- Begin
- writeln('Значение элемента: ', temp^.BT, '; Адрес элемента: ', @temp^.BT);
- temp := temp^.U;
- End;
- End;
- WriteLn
- End;
- function searchFirstPositive(nachalo: ^Zveno):^integer;
- begin
- var temp: ^Zveno = nachalo;
- while temp <> nil do begin
- if temp^.BT > 0 then begin
- searchFirstPositive := @temp^.BT;
- exit();
- end;
- temp := temp^.U;
- end;
- searchFirstPositive := nil;
- end;
- var
- chislo : integer;
- nachalo : ^Zveno;
- begin
- nachalo := Nil;
- writeln('Вывод адреса первого положительного значения в списке');
- writeln('Ввод элементов списка(0 - конец ввода):');
- read(chislo);
- while chislo <> 0 do
- begin
- addLast(nachalo, chislo);
- read(chislo);
- end;
- if nachalo = nil then writeln('Список пуст.')
- else
- if searchFirstPositive(nachalo) = nil then
- begin
- Print(nachalo);
- writeln('В списке нет положительных элементов')
- end
- else begin
- Print(nachalo);
- writeln('Адрес первого положительного элемента в списке - ', searchFirstPositive(nachalo));
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement