Const
n=7;
type
V=array[1..n] of real;
procedure InitMas(var a:V; fn:string);
{ инициализция массива из файла }
var
i:integer;
f:Text;
begin
Assign(f,fn);
Reset(f);
for i:=1 to n do
if not Eof(f) then Read(f,a[i]) else a[i]:=0;
Close(f)
end;
procedure MyProc(var a:V; t:real; var k:integer);
{ замена значением t элементов массива, меньших t }
var
i:integer;
begin
k:=0;
for i:=1 to n do
if a[i]end;
procedure OutMas(var a:V; an:string);
{ вывод элементов массива }
var
i:integer;
begin
Writeln('Массив '+an);
for i:=1 to n do Write(a[i],' ');
Writeln
end;
procedure Work(var a:V; fn,an:string; t:real; var k:integer);
{ полный цикл обработки массива по заданию }
begin
InitMas(a,fn);
MyProc(a,t,k)
end;
var
P,C:V;
k1,k2:integer;
t:real;
begin
Writeln('Введите значение T: '); Read(t);
Work(P,'p.dat','P',t,k1);
Work(C,'c.dat','C',t,k2);
if k1=k2 then Writeln('Число замен равно ',k1)
else
if k1>k2 then OutMas(P,'P') else OutMas(C,'C')
end.
Тестовое решение:
Введите значение T:
0.005
Массив P
0.005 1.54 0.005 0.005 0.005 1.2 0.005