Все верно. Но лучше использовать заместо цикла while, цикл for. И не нужна запись str, и.к. Изначально ужевводится в строковом виде
var a: array [1..100,1..100] of integer;
b:array [1..100] of integer;
n,m,i,j:integer;
Begin
read(n,m);
for i:= 1 to n do
for j:= 1 to m do
read(a[i,j]);
for i:= 1 to n do begin
b[i]:=0;
for j:= 1 to m do
b[i]:=b[i]+a[i,j];
writeln('b[',i,'] = ',b[i]);
end;
End.
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
Т.к. Гарри жил в мире маглов он мог бы использовать любое вычислительное устройство безотносительно его магических способностей. Следуя ходу серии книг я бы на его месте приобрела портативные пыле,ударо,взрывозащищённые устройства класса защиты не ниже IP95, включающие в себя автономные источники питания на делящихся элементах в виду высочайшей степени автономности. Так же я бы предпочла корпус из полиамидовых смол на титановом армировании, с напылёнными диэлектриками слоем не меньше 50 + заполнение сот углеродом или свинцовыми сплавами для избежания лучевого поражения кожи.
<u>PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var (a,h,b):=(-0.1,0.02,0.1);
var y:real->real:=t->t<=0 ?
Sqr(Sin(9*t-3))+0.7*t :
5*Cos(25*t+0.37)**3-5*t*t;
var x:=a;
while x<=b+h/2 do begin
Writeln(x:5:2,y(x):15:10);
x+=h
end
end.
<u>Пример</u>
-0.10 0.4030222897
-0.08 0.2428711009
-0.06 0.1085059147
-0.04 0.0189480905
-0.02 -0.0125256009
0.00 4.0520544419
0.02 1.3385985058
0.04 0.0316707402
0.06 -0.1460479966
0.08 -1.8734753767
0.10 -4.5200806881
<u>2. Более "традиционное" решение</u>
const
a=-0.1;
h=0.02;
b=0.1;
var
x,y:real;
begin
x:=a;
while x<=b+h/2 do begin
if x<=0 then
y:=Sqr(Sin(9*x-3))+0.7*x
else
y:=5*(Cos(25*x+0.37))*Sqr(Cos(25*x+0.37))-5*x*x;
Writeln(x:5:2,y:15:10);
x+=h
end
end.