Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Дана матрица...

Автор: ned11 24.05.2006 3:13

Народ поможите пожалуйста решить задачку.Горю пипец завтра зачет нужно срочно сделать.
А задача такая:Дана матрица n*n.Вычислить поизведение всех элементов матрицы стоящих в нечетных столбцах и найти сумму элементов главной диагонали

Автор: Bokul 24.05.2006 3:33

Код

function sum(mas:main):longint;
var i,j:integer; buf:longint;
begin
buf:=0;
for i:=1 to n do
    for j:=1 to n do
        if i=j then
           inc(buf,mas[i,j]);
sum:=buf;
end;

function product(mas:main):longint;
var i,j:integer; buf:longint;
begin
buf:=1;
for i:=1 to n do
    for j:=1 to n do
        if (j mod 2)<>0 then
           buf:=buf*mas[i,j];
product:=buf;
end;

Автор: volvo 24.05.2006 3:36

function sum(mas:main):longint;
var i:integer; buf:longint;
begin
buf:=0;
for i:=1 to n do
inc(buf,mas[i,i]);
sum:=buf;
end;
rolleyes.gif

Автор: Bokul 24.05.2006 3:43

function sum(mas:main):longint;
var i:integer; buf:longint;
begin
buf:=0;
for i:=1 to n do
inc(buf,mas[i,i]);
sum:=buf;
end;


unsure.gif
Полезно делать такие задачки... good.gif

Автор: ned11 24.05.2006 9:58

Спасибо вам народ за помощь!!!Даже не представляете как вы меня выручили.

Автор: klem4 24.05.2006 14:37

Код
function product(mas:main):longint;
var i,j:integer; buf:longint;
begin
buf:=0; { <----------------------------------------------------------------------------------}
for i:=1 to n do
    for j:=1 to n do
        if (j mod 2)<>0 then
           buf:=buf*mas[i,j];
product:=buf;



function product(mas:main):longint;
var i,j:integer; buf:longint;
begin
buf:=1; { <---------------------------------------------------------------------}
j := 1;
while (j <= n) do begin
for i := 1 to n do buf:=buf*mas[i,j];
inc(j, 2);
end;
product:=buf;




ПРОВЕРЯЙТЕ программы прежде чем их выкладывать. !!!