() , var, :
1) var. , , ( ). , (), , (). .
var , . , .
2) () , . , type, .
program matr(input, output);
{ 11 MaxIndex x MaxIndex
. }
Const
MaxIndex = 10; { }
Type
index = 1..MaxIndex; { }
matrix = array[ index, index ] of real; { }
vector = array[ index ] of real; { }
Var
Data: matrix; { }
Result: vector; { }
Raw, { }
Colon: index; { }
cnt: integer; { }
query: integer; { }
procedure InpSize(var Raw, Col: index);
{ }
begin {InpSize}
repeat { }
Write(' ( 1 ', MaxIndex, '):');
readln(Raw);
until (Raw >= 1) and (Raw <= MaxIndex);
repeat { }
Write(' ( 1 ', MaxIndex, '):');
readln(Col);
until (Col >= 1) and (Col <= MaxIndex);
end; {InpSize}
procedure InpData(var Data: matrix; Raw, Col: index);
{ }
Var
rw, cl: index; { }
begin {InpData}
Writeln(' (', Raw, ' , ', Col, ' )');
for rw:= 1 to Raw do
for cl:= 1 to Col do
Begin
Write(' [', rw, ', ', cl, ']= ');
readln(Data[ rw, cl ]);
end;
end; {InpData}
procedure OutData(Data: matrix; Raw, Col: index);
{ }
Var
rw, cl: index; { }
cnt: integer; { }
begin {OutData}
Writeln; { }
Writeln(' (', Raw, ' , ', Col, ' )');
|
|
Writeln; { }
cnt:= 0;
for rw:= 1 to Raw do
for cl:= 1 to Col do
Begin
Write(' [', rw, ', ', cl, ']= ', Data[ rw, cl ]);
cnt:= succ(cnt);
if not odd(cnt) then Writeln;
end;
Writeln;
end; {OutData}
procedure CountRes(Data: matrix; var Res: vector; Raw, Col: index);
{ }
Var
rw, cl: index; { }
begin {CountRes}
Writeln; { }
Writeln(' .');
Writeln; { }
for cl:= 1 to Col do { }
Begin
Writeln(' ', cl);
Res[ cl ]:= 0; { () }
for rw:= 1 to Raw do { }
Res[ cl ]:= Res[ cl ] + Data[ rw, cl ]; { }
end;
end; {CountRes}
procedure OutResult(Res: vector; Col: index);
{ }
Type
fl_real = text; { }
Var
ouf: fl_real; { }
fname: string; { }
cnt: index; { }
begin {OutResult}
Writeln; { }
Writeln(' .');
Write(' ? ');
readln(fname); { nm }
assign(ouf, fname); { }
reWrite(ouf); { }
for cnt:= 1 to Col do { cnt fl }
Write(ouf, Res[ cnt ], ' ');
close(ouf); { }
Writeln; { }
Writeln('.');
end; {OutResult}
Begin
Writeln; { }
Writeln(':');
Writeln(' 11 ', MaxIndex, 'x', MaxIndex);
Writeln(' ');
Writeln(' .');
Writeln; { }
repeat
InpSize(Raw, Colon); { }
InpData(Data, Raw, Colon); { }
OutData(Data, Raw, Colon); { }
Write(' (1=, 0=)?');
readln(query);
until query = 1;
CountRes(Data, Result, Raw, Colon); { }
OutResult(Result, Colon); { }
end.
1.
M x N. , :
1. c .
2. .
3. .
2.
, 1, .