Да се състави главна програма за обработка на два двумерни масива C[10,10] и D[12,12]. Данните и в двата масива са в интервала [-999 - 999]. Съответните подпрограми да извършват следните обработки:
• извеждане на условието на задачата и името на автора
• въвеждане на входните данни;
• извеждане на входните данни;
• да се определи броя на отрицателните елементи по редове и по стълбове, а така също реда и стълба с най-малко отрицателни елементи;
• да се изведат резултатите;
• резултатът да се запише във външен файл на диск С: с име DATA08.DAT.
program task08;
type
matrix=array[1..50, 1..50] of integer;
procedure uslovie;
begin
writeln('Da se systavi glavna programa za obrabotka na ............');
end;
procedure readMatrix(var m: matrix; n:integer);
var
i, j: integer;
begin
for i := 1 to n do
for j := 1 to n do
begin
write('cell at row ', i, ', column ', j, ': ');
readln(m[i, j]);
end;
end;
procedure printMatrix(m: matrix; n:integer);
var
i, j: integer;
begin
for i := 1 to n do
begin
for j := 1 to n do
write(m[i, j]:2, ' ');
writeln;
end;
end;
procedure countNeg(a: matrix; n: integer; var negR, negC: array of integer; var minR, minC: integer);
var
i, j: integer;
begin
for i := 1 to n do
begin
negR[i] := 0;
negC[i] := 0;
end;
for i := 1 to n do
for j := 1 to n do
if a[i, j] < 0 then
begin
negR[i] := negR[i] + 1;
negC[j] := negC[j] + 1;
end;
minR := 1;
for i := 1 to n do
if negR[i] < negR[minR] then
minR := i;
minC := 1;
for i := 1 to n do
if negC[i] < negC[minC] then
minC := i;
end;
procedure printArray(m: array of integer; n:integer);
var
i, j: integer;
begin
for i := 1 to n do
write(m[i], ' ');
writeln;
end;
procedure printArrayToFile(var f: text; m: array of integer; n:integer);
var
i, j: integer;
begin
for i := 1 to n do
write(f, m[i], ' ');
writeln(f);
end;
var
a, b: matrix; (* vmesto C i D sym gi narekyl A i B zaradi copy-paste *)
negRA, negCA, negRB, negCB: array[1..50] of integer;
minRA, minCA, minRB, minCB: integer;
f: text;
begin
(* izvejdane na uslovieto i avtora *)
uslovie;
writeln;
(* vyvejdane na vhodnite danni *)
writeln('matrix A:');
readMatrix(a, 2); (* vmesto 10, 12 - 2, 3, za po-byrzo vyvejdane ot klaviaturata *)
Не мога да разбера това readMatrix(a,2), защо човека, който е писал програмата използва число (т.е. 2 ) вместо параметър ? В кой случай се използват тези числа и какво е приложението им ? И какво ще рече (* vmesto 10, 12 - 2, 3, za po-byrzo vyvejdane ot klaviaturata *