Дан вектор V[1:16]. Если среднеарифметическое значение элементов с четными индексами больше или равно среднеарифметическому значению элементов с нечетными индексами, то все элементы вектора увеличить в 5 раз и сформировать из них матрицу W[1:4;1:4] — Pascal(Паскаль)

Иначе удалить из вектора минимальный элемент, все элементы вектора возвести в квадрат, и сформировать из них матрицу Z[1:5;1:3].

Program PascalGuru;

uses crt;

var
  V: array [1 .. 16] of integer;
  W: array [1 .. 4, 1 .. 4] of integer;
  Z: array [1 .. 5, 1 .. 3] of integer;
  i, j, k, min: integer;
  sr_c, sr_nec: real;

  { ---------------------------------------------------- }
begin
  for i := 1 to 16 do
  begin
    write('V[', i, ']=');
    readln(V[i]);
  end;

  clrscr;
  writeln('Vot vvedennyy vami massiv V: ');
  for i := 1 to 16 do
    write(V[i]:4, ' ');

  sr_nec := 0;
  sr_c := 0;
  for i := 1 to 16 do
    if odd(i) then
      sr_nec := sr_nec + V[i]
    else
      sr_c := sr_c + V[i];
  sr_nec := sr_nec / 8;
  sr_c := sr_c / 8;

  writeln;
  if sr_c >= sr_nec then
  begin
    for i := 1 to 16 do
      V[i] := V[i] * 5;
    k := 0;
    for i := 1 to 4 do
      for j := 1 to 4 do
      begin
        inc(k);
        W[i, j] := V[k];
      end;
    writeln;
    writeln('Sformirovannyi massiv W: ');
    for i := 1 to 4 do
    begin
      writeln;
      for j := 1 to 4 do
        write(W[i, j]:8);
    end;
  end
  else { ********************** }
  begin
    min := 1;
    for i := 2 to 16 do
      if V[i] < V[min] then
        min := i; { определение MIN элемента }

    For i := min + 1 to 16 do
      V[i - 1] := V[i]; { удаление MIN элемента }

    for i := 1 to 5 do
      for j := 1 to 3 do
      begin
        inc(k);
        Z[i, j] := V[k];
      end;
    writeln;
    writeln('Sformirovannyi massiv Z: ');
    for i := 1 to 5 do
    begin
      writeln;
      for j := 1 to 3 do
        write(Z[i, j]:8);
    end;

  end;

  readln;

end.

Leave a Comment

− 1 = 1