Привет всем. Пожалуйста помогите с задачей, а то у меня с паскалем не очень.
Дана матрица М(n-строки, m-столбцы). Надо найти сумму положительных элементов в каждом столбце
матрицы. Получить новую матрицу, полученную от деления суммы по столбцу на значение кокретного
элемента. Результатные и промежеточные данные вывести на экран.
program zadacha;
uses crt;
var
A: array [1..n,1..m] of real;
i,j,n,m:integer;
S:real;
label
L1, L2;
L1:
clrscr;
...
S:=0;
for j:=1 to n do
for i:=1 to n do
begin
if A[i,j]>0 then
S:=S+A[i,j];
end;
for j:=1 to m do
for i:=1 to n do
begin
A[i,j]:=S/A[1,1];
end;
L2:
case readkey of
#89:goto L1;
#121:goto L1;
#78:exit;
#110:exit;
end;
goto L2;
End.
можно решить как-то так...
const
n=2;
m=3;
var
A: array [1..n,1..m] of real;
i, j:integer;
s:real;
begin
for i:=1 to n do
for j:=1 to m do
readln(A[i, j]);
for i:=1 to n do begin
for j:=1 to m do
write(A[i, j]:8:2);
writeln;
end;
for i:=1 to (m*2) do
if i mod 2 =1 then begin
s:=0;
for j:=1 to n do
if a[j, (i div 2 +1 )] > 0 then
s:=s +a[j, (i div 2 +1)];
end
else if s<>0 then
for j:=1 to n do
if a[j, (i div 2 )] > 0 then
a[j, (i div 2 )]:=a[j, (i div 2 )]/s;
for i:=1 to n do begin
for j:=1 to m do
write(A[i, j]:8:2);
writeln;
end;
end.
Нифига ты там написал))
По моему должно быть как-то так:
for j := 1 to m do begin
s := 0;
for i := 1 to n do
if a[i, j] > 0 then
s := s + a[i, j];
for i := 1 to n do
if a[i, j] <> 0 then
a[i, j] := s / a[i, j];
end;