Дана матрица A[1:7;1:6]. Получить для четвертой строки произведение элементов матрицы, равных -3, а для пятого столбца сумму элементов, равных 4. Получение произведения или суммы реализовать одной функцией и одной процедурой — Pascal(Паскаль)

uses crt;
const n=7;
      m=6;
type matr=array[1..n,1..m] of integer;
procedure Prz(x:matr;var p,s:integer);
var i,j,k:byte;
begin
p:=1;k:=0;
for i:=1 to m do
if x[4,i]=-3 then
 begin
  p:=p*x[4,i];
  k:=1;
 end;
if k=0 then p:=0;
writeln('Произведение элементов 4 строки,=-3 = ',p);
s:=0;
for i:=1 to n do
if x[i,5]=4 then s:=s+x[i,5];
writeln('Сумма элементов 5 столбца, =4 = ',s);
end;
var a:matr;
    pr,sum:integer;
    i,j:byte;
begin
clrscr;
randomize;
writeln('Матрица А:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(10)-4;
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
Prz(a,pr,sum);
readln
end.

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

uses crt;
const n=7;
      m=6;
type matr=array[1..n,1..m] of integer;
function Prz(x:matr;var s:integer):integer;
var i,j,k:byte;
    p:integer;
begin
p:=1;k:=0;
for i:=1 to m do
if x[4,i]=-3 then
 begin
  p:=p*x[4,i];
  k:=1;
 end;
if k=0 then Prz:=0
else Prz:=p;
s:=0;
for i:=1 to n do
if x[i,5]=4 then s:=s+x[i,5];
end;
var a:matr;
    pr,sum:integer;
    i,j:byte;
begin
clrscr;
randomize;
writeln('Матрица А:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(10)-4;
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
pr:=Prz(a,sum);
writeln('Произведение элементов 4 строки,=-3 = ',pr);
writeln('Сумма элементов 5 столбца, =4 = ',sum);
readln
end.

Leave a Comment

− 5 = 3