Program Task_14_14_l ;
Const n=15;
Type Pupil=Record {O?aiee}
surname : String; {Oaieeey}
height : Integer; {?ino}
End;
List=Array [1..n+1] Of Pupil;
Var A : List;
r : Integer;
u : String;
Procedure Init(Var X : List);
var f:text;
k:byte;
Begin
assign(f,'iput.txt');
reset(f);
for k:=1 to n do
with x[k] do begin
readln(f,surname);
readln(f,height);
end;
close(f);
end;
Procedure Solve_a(X : List);
Var i : Byte;
f : Text;
Begin
Assign(f, '0utput_a.txt');
ReWrite(f);
WriteLn(f, 'O?aieee, eia?uea ?ino iaiuoa ?inoa iiaiai o?aieea: ');
i:=n;
While (i>=1) And (X[i].heightBegin WriteLn(f, X[i].surname);
Dec(i);
End;
Close (f);
End;
Procedure Solve_b(X : List);
Var i : Byte;
f : Text; Begin
Assign(f, 'Output_b.txt');
Rewrite(f);
i := n;
While (i>=1) And (X[i].heightWriteLn(f, 'Iiaue o?aiee aie?ai auou caienai iinea ', X[i].surname);
Close (f); End;
Procedure Solve_c (X : List);
Var i : Byte;
f : Text; Begin
Assign(f, '0utput_c.txt');
ReWrite(f);
WriteLn(f, 'O?aiee, ?ino eioi?iai iaiuoa anaai ioee?aaony io ?inoa iiaiai o?aieea o' ) ;
i:=n;
While (i>=1) And (X[i].height If Abs(r-X[i].height)=Abs(r-X[i+1].height)
Then WriteLn(f, X[i].surname, ' e ',X [i + 1] .surname)
Else Begin
If Abs(r-X[i].height)>Abs(r-X[i+1].height)
Then i := i+1; WriteLn(f, X[i].surname);
End;
Close (f); End;
Procedure Solve_d(X : List);
Var i : Byte;
f : Text;
Begin i:=n ;
While (i>=1) And (X[i].heightBegin X[i+1] := X[i]; Dec(i) ;
End;
X [i+1] . surname := u;
X[i+1].height := r; Assign (f, '0utput_d.txt');
ReWrite(f);
WriteLn('Iiaue nienie o?aieeia : ');
For i := 1 To n+1 Do With X[i] Do
Begin Write(f, surname);
WriteLn(f, height : 4);
End;
Close (f); End; Begin
Init(A);
WriteLn('Aaaaeoa oaieee? iiaiai o?aieea: ');
ReadLn(u);
WriteLn('Aaaaeoa ?ino iiaiai o?aieea: ');
ReadLn(r);
Solve_a(A);
Solve_b(A);
Solve_c(A);
Solve_d(A);
end.