Дана матрица A[1:6;1:6]. Если на главной диагонали матрицы есть отрицательный элемент, то из минимальных элементов строк сформировать вектор B — Pascal(Паскаль)

Иначе из отрицательных элементов матрицы сформировать вектор C, по правилу: C[k]=A[i,j]*Amax

program PascalGuru;

uses crt;

var
  A: array [1 .. 6, 1 .. 6] of integer; { объявление переменных }
  B: array [1 .. 6] of integer;
  C: array [1 .. 36] of integer;
  i, j, min, max, k: integer;
  usl: boolean;

  { ----------------------------------- }
begin
  writeln('Vvedite elementy massiva:');

  for i := 1 to 6 do
    for j := 1 to 6 do
    begin
      write('A[', i, ',', j, ']=');
      readln(A[i, j]);
    end;

  clrscr;

  writeln('Vvedennyi massiv:');
  for i := 1 to 6 do
  begin
    writeln;
    for j := 1 to 6 do
      write(A[i, j]:8);
  end;
  writeln;

  usl := false;
  for i := 1 to 6 do
    for j := 1 to 6 do
      if (i = j) and (A[i, j] < 0) then
        usl := true;

  k := 0;
  if usl then
  begin
    for i := 1 to 6 do
    begin
      min := A[i, 1];
      for j := 2 to 6 do
        if A[i, j] < min then
          min := A[i, j];
      B[i] := min;
    end;
    writeln;
    writeln('Massiv B: ');
    writeln;
    for i := 1 to 6 do
      write(B[i]:8);
  end
  else
  begin
    max := A[1, 1];
    for i := 1 to 6 do
      for j := 1 to 6 do
        if A[i, j] > max then
          max := A[i, j];

    for i := 1 to 6 do
      for j := 1 to 6 do
      begin
        inc(k);
        C[k] := A[i, j] * max;
      end;
    writeln;
    writeln('Massiv C: ');
    writeln;
    for i := 1 to 36 do
      write(C[i], ' ')
  end;

  readln;

end.

Leave a Comment

5 + 2 =