Const
N = 3;
Var
A:array[1..N,1..N] of integer;
i,j:integer;
P:real;
Begin
Randomize;
WriteLn('Исходная матрица A(',N,',',N,'):');
For i:= 1 to N do
Begin
For j:= 1 to N do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn
End;
P:=1;
For i:= 1 to N do
P:=P*A[i,N-i+1];
WriteLn('Произведение элементов побочной диагонали: ',P);
End.
Примеры работы программы:
Исходная матрица A(3,3):
-6 5 0
-1 -3 -1
-2 -4 -3
Произведение элементов побочной диагонали: 0
Исходная матрица A(3,3):
-7 -6 -10
-3 8 10
4 0 -10
Произведение элементов побочной диагонали: -320
256000 бит/с * 120 = 30720000 бит = 3840000 байт = 3750 кбайт
Uses crt; (Подключение внешних файлов)
Var
ves: real;
m: real;
Begin
clrscr;
write('ves=');
read(ves);
m: = ves * 0.65;
writeln ('Масса молекул кислорода', m:2:1, 'кг.');
readkey;
End.
//PascalABC.NET 3.1 сборка 1219
procedure PrintMatrix(a: array[,] of integer);
begin
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
writeln;
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
write(a[i, j], ' ');
end;
writeln;
end;
begin
var a := MatrixRandom(ReadInteger('n ='), ReadInteger('m ='), 0, 255);
PrintMatrix(a);
for var i := a.GetLowerBound(0) to (a.GetUpperBound(0) div 2) do
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
swap(a[i, j], a[a.GetLowerBound(0) + a.GetUpperBound(0) - i, j]);
PrintMatrix(a);
end.
Нет, например задачи NP - класса 3-SAT и 3-NCF, также задача факторизации за ф-ию от длины. Решение - экспонента, а проверка ответа - линейная(полином)