Дано целое число M, вещественное число X, вещественные кортежи A,B [1..M], C[1..m+5] кортеж, имеющий наименьшее кол-во отрицательных компонентов (такой кортеж только 1), домножить на значение R, где R = X для кортежа A,R=sqr(x) для кортежа B и R = X/10 для кортежа C — Pascal(Паскаль)

Program proceduri;

uses crt;

Const
  m = 15;

Var
  a, b: array [1 .. m] of real;
  c: array [1 .. m + 5] of real;
  x: real;
  k1, k2, k3: integer;

procedure zap(k: integer; var f: array [1 .. m] of real);
Var
  i: integer;
begin
  for i := 0 to k - 1 do
    f[i] := 200 * random - 100;
end;

procedure vivod(k: integer; var f: array [1 .. m] of real);
Var
  i: integer;
begin
  for i := 0 to k - 1 do
    write(f[i], '  ')
end;

procedure nax(k: integer; f: array [1 .. m] of real; var r: integer);
Var
  i: integer;
Begin
  r := 0;
  for i := 0 to k - 1 do
    if f[i] < 0 then
      r := r + 1
end;

procedure umnog(k: integer; r: real; var f: array [1 .. m] of real);
var
  i: integer;
Begin
  for i := 0 to k - 1 do
    f[i] := f[i] * r
end;

Begin
  clrscr;
  Randomize;
  write('vvedite x ');
  readln(x);
  zap(m, a);
  writeln('massiv A');
  vivod(m, a);
  writeln;
  zap(m, b);
  writeln('massiv B');
  vivod(m, b);
  writeln;
  zap(m + 5, c);
  writeln('massiv C');
  vivod(m + 5, c);
  writeln;
  nax(m, a, k1);
  nax(m, b, k2);
  nax(m + 5, c, k3);
  writeln('kol-vo otriz v masA= ', k1);
  writeln('kol-vo otriz v masB= ', k2);
  writeln('kol-vo otriz v masC= ', k3);
  if (k1 < k2) and (k1 < k3) then
  begin
    umnog(m, x, a);
    vivod(m, a)
  end
  else if (k2 < k1) and (k2 < k3) then
  begin
    umnog(m, sqr(x), b);
    vivod(m, b)
  end
  else if (k3 < k1) and (k3 < k2) then
  begin
    umnog(m + 5, x / 10, c);
    vivod(m + 5, c)
  end
  else
    writeln('kol-va ravni');
  readln

End.

Leave a Comment

5 + 5 =