Составить подпрограмму,заменяющую все элементы одномерного массива,меньшие заданной величины Т,на значение этой величины и считающую число таких замен.
используя эту подпрограмму,изменить каждый из двух заданных массивов Р и С и вывести на печать тот массив,в кот. Окажется большим число замен.Если же эти числа замен будут равны,отпечатать число замен.задать Т=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]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


Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку