| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- Uses CRT;
- type
- PList = ^TList;
- TList = record
- num : real;
- Next : PList;
- end;
- function p26(L:PList):boolean;
- var
- i,j,k : PList;
- begin
- p26:=False;
- i:=L;
- while i <> nil do
- begin
- j:=i^.next;
- while j <> nil do
- begin
- k:=j^.next;
- while k <> nil do
- begin
- if (i^.num = j^.num) and (k^.num = j^.num) then
- begin
- p26:=true;
- exit;
- end;
- k:=k^.next;
- end;
- j:=j^.next;
- end;
- i:=i^.next;
- end;
- end;{Задание}
- {---------------------------------}
- Function GetList:PList;
- var
- N,p : PList;
- cur : real;
- begin
- WriteLn('Вводите числа, заканичивая 0-м');
- read(cur);
- New(p);
- p^.num := cur;
- p^.Next := nil;
- while cur <> 0 do begin
- read(cur);
- New(N);
- N^.num := cur;
- N^.Next := p;
- p:=N;
- end;
- GetList := P;
- end;
- Procedure WriteList(var L : PList);
- var
- P : Plist;
- begin
- p:=L;
- while p<>nil do begin
- write(p^.num:0:2,' ');
- p:=p^.next;
- end;
- end;
- var
- List : PList;
- begin
- ClrScr;
- List := GetList;
- WriteLn('Список такой:');
- WriteList(List);
- WriteLn;
- If p26(List) then
- writeLn('Есть элементы, встечающиеся больше 2-х раз')
- else
- writeLn('Нет элементов, встечающиеся больше 2-х раз');
- end.
|