for i:=1 to m do
b:=b*20;
Паскаль
Подскажите, как в паскале умножить вектор B, состоящий из M элементов на какое-нибудь число, например на 20.
Код:
Написал программу:
Код:
Program abc;
const m=20;
var
i , j, q: integer;
x, y: real;
a: array [1..m, 1..m] of real;
b: array [1..m] of real;
begin
readln(a[i,j]);
if i=j then
for q:=1 to m do
b[q]:=b[q]*20
else for q:=1 to m do
b[q]:=b[q]*0.5;
writeln('b=',b[q]);
end.
const m=20;
var
i , j, q: integer;
x, y: real;
a: array [1..m, 1..m] of real;
b: array [1..m] of real;
begin
readln(a[i,j]);
if i=j then
for q:=1 to m do
b[q]:=b[q]*20
else for q:=1 to m do
b[q]:=b[q]*0.5;
writeln('b=',b[q]);
end.
Но в ответе всегда 0 получается, помогите отредактировать.
Код:
Program abc;
const m=20;
var
i , j, q: integer;
x, y: real;
a: array [1..m, 1..m] of real;
b: array [1..m] of real;
max:real;
localmax:real;
begin
for i:=1 to m do begin
for j:=1 to m do begin
write('a[',i,',',j,'] = ');
readln(a[i,j]);
end;
end;
max:=a[1,1];
localmax:=a[1,1];
for i:=1 to m do begin
for j:=1 to m do begin
if (i=j) then begin
if (localmax<a[i,j]) then localmax:=a[i,j];
end;
if (max<a[i,j]) then max:=a[i,j];
end;
end;
if(localmax=max) then begin
//есть наибольший элемент и он находится на главной диагонали
end else begin
// обратное утверждение
end;
end.
const m=20;
var
i , j, q: integer;
x, y: real;
a: array [1..m, 1..m] of real;
b: array [1..m] of real;
max:real;
localmax:real;
begin
for i:=1 to m do begin
for j:=1 to m do begin
write('a[',i,',',j,'] = ');
readln(a[i,j]);
end;
end;
max:=a[1,1];
localmax:=a[1,1];
for i:=1 to m do begin
for j:=1 to m do begin
if (i=j) then begin
if (localmax<a[i,j]) then localmax:=a[i,j];
end;
if (max<a[i,j]) then max:=a[i,j];
end;
end;
if(localmax=max) then begin
//есть наибольший элемент и он находится на главной диагонали
end else begin
// обратное утверждение
end;
end.
не забудьте что нужно еще инициализировать ваш вектор т.е считать его.