1. Вот набросал код:
Code
uses crt;
const Size=4;
type
Matrix=array[1..Size,1..Size] of integer;
{=========================================}
procedure PackMatrix(var M:Matrix);
var
i,j:BYTE;
begin
Randomize;
for i:=1 to Size do
for j:=1 to Size do
M[i][j]:=Random(21)-10;
end;
{=========================================}
procedure WriteMatrix(M:Matrix);
var
i,j:BYTE;
begin
for i:=1 to Size do
begin
for j:=1 to Size do
Write(M[i][j]:4);
WriteLn;
end;
end;
{=========================================}
function GetSum(M:Matrix;const i:BYTE):longint;
var
j:BYTE;
Sum:LongInt;
begin
Sum:=0;
for j:=1 to Size do
Inc(Sum,Abs(M[j][i]));
GetSum:=Sum;
end;
{=========================================}
var
i,N:BYTE;
M:Matrix;
Result,Cur:LongInt;
begin
ClrScr;
PackMatrix(M);
WriteMatrix(M);
Result:=0;
for i:=1 to Size do
begin
Cur:=GetSum(M,i); {Лучше выделить 4 байта под переменную, чем считать функцию 2 раза.}
if Cur>Result then
begin
Result:=Cur;
N:=i;
end;
end;
WriteLn(Result:4,N:4);
ReadKey;
end.
Код рабочий, но не проверенный, т.е. не факт, что всё сделано рационально.
2. А вот тут я не понял, я сталкивался с заданием векторов через две точки, через базис и ещё парой экзотических способов. А тут координаты векторов заданы через какую-то функцию. Кстати, "a={a(n)}" это абсурдная запись, сначала у тебя "a"-это вектор, а затем уже функция. Так что тут тебе придётся дать пояснения.
З.Ы. Поздравляю всю прекрасную половину человечества с 8 марта! Будте счастливы!