Помощь - Поиск - Пользователи - Календарь
Полная версия: сумма в столбцах матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
ship

Привет всем. Пожалуйста помогите с задачей, а то у меня с паскалем не очень.

Дана матрица М(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.


Зарание спасибо! smile.gif
compiler
можно решить как-то так...

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.


klem4
Нифига ты там написал))

По моему должно быть как-то так:

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;


и кстати ты там явно элемент на сумму делишь, а надо
Цитата
полученную от деления суммы по столбцу на значение кокретного
элемента
compiler
Цитата(klem4 @ 10.02.2008 20:47) *
Нифига ты там написал))
мда... что-то не то... это все наверно температура( простыл;( )
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.