Составить подпрограмму,заменяющую все элементы одномерного массива,меньшие заданной величины Т,на значение этой величины и считающую число таких замен.
используя эту подпрограмму,изменить каждый из двух заданных массивов Р и С и вывести на печать тот массив,в кот. Окажется большим число замен.Если же эти числа замен будут равны,отпечатать число замен.задать Т=0.005,Р= (0.001;1.54; -2.75; 0.002; -0.1; 1.2; -0.47) ; С= ( -5.74; 0.0001; 4.1; 7.24; -1.5; 2.9; 0.004 ) элементы массива P C брать из файлов
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]
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
