В заданной матрице заменить к-ю строку и первый столбец нулями, кроме элемента расположенного на их пересечении — Pascal(Паскаль)

const 
n=5;
var
a:array[1..n,1..n] of integer;
i,j,tmp,k:integer;
begin
for j:=1 to n do
    begin 
        for i:=1 to n do
          begin
            a[i,j]:=random(2);
            write('  ',a[i,j]:3);
          end;
        writeln();
    end;
writeln('--------') ; 

tmp := a[k, 1];
for i := 1 to N do
begin
  a[i, 1] := 0;
  a[k, i] := 0;
end;
a[k, 1] := tmp;


writeln('--------') ; 

for j:=1 to n do
    begin 
        for i:=1 to n do
          begin
             write('  ',a[i,j]:3);
          end;
        writeln();
    end;
    
end.

Результат работы программы

Следующий вариант

const 
n=5;
var
a:array[1..n,1..n] of integer;
i,j,k:integer;
begin
for j:=1 to n do
    begin 
        for i:=1 to n do
          begin
            a[i,j]:=random(2);
            write('  ',a[i,j]:3);
          end;
        writeln();
    end;
writeln('--------') ; 

for i := 1 to N do
begin
  if i <> k then
    a[i, 1] := 0;
  if i <> 1 then
    a[k, i] := 0;
end;


writeln('--------') ; 

for j:=1 to n do
    begin 
        for i:=1 to n do
          begin
             write('  ',a[i,j]:3);
          end;
        writeln();
    end;
    
end.

Leave a Comment

− 1 = 4