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

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

code: #pascal
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.      
Поделиться:

Похожие статьи: