Turbo Paskal.Двумерный массив
Добавлено: 23 фев 2013, 18:29
Задача такова: Даны две матрицы А(3,9) и В(6,6). Вычислить z=c(в квадрате)*(d+e)/(f+1), где с и f – количество положительных элементов матриц А и В, d и е – количество отрицательных элементов в матрицах А и В соответственно. Вычисление количества положительных и отрицательных элементов оформить в виде процедур-функций.
Начало программы я написала(вывод двух массивов и вывод кол-ва отриц. и полож. элементов этих массивов).Осталось только вычислить по формуле.Помогите,пожалуйста,кому не трудно!
Вот начало:
uses crt;
const m=6; n=9;
type ma2=array[1..m,1..n]of real;
var a:ma2; b:ma2;
{--------------------------------------------------}
procedure gen(var a:ma2; m,n:integer);
var i,j:integer;
begin
for i:=1 to m do
for j :=1 to n do a[i,j]:= -25+random(50);
end;
{-------------------------------------------------}
procedure print(name:string; a:ma2; m,n:integer);
var i,j: integer;
begin writeln('Massiv '+name);
for i:=1 to m do
begin
for j:=1 to n do write (a[i,j]:7:2);
writeln;
end;
end;
{--------------------------------------------------------}
Procedure kol(A:ma2);
Var i,j,kp,ko:byte;
Begin
kp:=0; ko:=0;
For i:=1 to 6 do
For j:=1 to 9 do
If A[i,j]<0 then inc(ko) Else If A[i,j]>0 then inc(kp);
Writeln('kol-vo pol:',kp);
Writeln('kol-vo otr:',ko);
End;
begin
clrscr;
gen(a,3,9); print('A',a,3,9); kol(A);
gen(b,6,6); print('B',b,6,6); kol(B);
Readln;
end.
Начало программы я написала(вывод двух массивов и вывод кол-ва отриц. и полож. элементов этих массивов).Осталось только вычислить по формуле.Помогите,пожалуйста,кому не трудно!
Вот начало:
uses crt;
const m=6; n=9;
type ma2=array[1..m,1..n]of real;
var a:ma2; b:ma2;
{--------------------------------------------------}
procedure gen(var a:ma2; m,n:integer);
var i,j:integer;
begin
for i:=1 to m do
for j :=1 to n do a[i,j]:= -25+random(50);
end;
{-------------------------------------------------}
procedure print(name:string; a:ma2; m,n:integer);
var i,j: integer;
begin writeln('Massiv '+name);
for i:=1 to m do
begin
for j:=1 to n do write (a[i,j]:7:2);
writeln;
end;
end;
{--------------------------------------------------------}
Procedure kol(A:ma2);
Var i,j,kp,ko:byte;
Begin
kp:=0; ko:=0;
For i:=1 to 6 do
For j:=1 to 9 do
If A[i,j]<0 then inc(ko) Else If A[i,j]>0 then inc(kp);
Writeln('kol-vo pol:',kp);
Writeln('kol-vo otr:',ko);
End;
begin
clrscr;
gen(a,3,9); print('A',a,3,9); kol(A);
gen(b,6,6); print('B',b,6,6); kol(B);
Readln;
end.