| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- CONST
- ArraySize = 7;
- type
- ref = ^real;
- vec = array [1..ArraySize] of ref;
- {------------------------------------}
- function MaxX(var X:vec):real;
- var
- cm:real;
- i:1..ArraySize;
- begin
- cm :=-MaxInt;
- for i:=1 to ArraySize do
- if X[i]^ > cm then cm := X[i]^;
- MaxX := cm;
- end; {MaxX}
- {--------------------------------}
- Function SameX(var X:vec):boolean;
- var
- ret:boolean;
- i,j:1..ArraySize;
- begin
- ret:=false;
- for i:=1 to ArraySize do
- for j:=1 to ArraySize do
- if (j <> i) and (X[i]=X[j]) then ret:=true;
- SameX:=ret;
- end;{SameX}
- {--------------------------------}
- Procedure UniqueX(var X:vec);
- var
- i,j:1..ArraySize;
- begin
- for i:=1 to ArraySize do
- for j:=1 to ArraySize do
- if (I<>J) and (X[j]^=X[i]^) and (X[j]<>X[i]) then X[j]:=X[i];
- end;{UniqueX}
- {--------------------------------}
- Procedure ReadArray(var X:vec);
- var
- i : 1..ArraySize;
- begin
- for i := 1 to ArraySize do
- begin
- if X[i] = nil then New(X[I]);
- Read(X[i]^);
- end;
- end;{ReadArray}
- {--------------------------------}
- Procedure WriteArray(var X:vec);
- var
- i : 1..ArraySize;
- begin
- for i := 1 to ArraySize do
- WriteLn(LongInt(X[i]),' --> ',X[i]^:4:3);
- end;{WriteArray}
- {---------------------------------}
- Var
- X : vec;
- BEGIN
- WriteLn('‚¢¥¤¨â¥ ',ArraySize, ' ç¨á¥«:');
- ReadArray(X);
- WriteLn('Œ ªá¨¬ «ì®¥: ',MaxX(X):0:4);
- WriteLn('Œ áᨢ, ¤® ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë Unique');
- WriteArray(X);
- UniqueX(X);
- WriteLn('Œ áᨢ, ¯®á«¥ ¢ë¯®«¥¨ï ¯à®æ¥¤ãàë Unique');
- WriteArray(X);
- if SameX(X) then
- WriteLn('…áâì í«¥¬¥âë á ®¤¨ ª®¢ë¬¨ áá뫪 ¬¨')
- else
- WriteLn('�¥â í«¥¬¥â®¢ á ®¤¨ ª®¢ë¬¨ áá뫪 ¬¨');
- END.
|