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

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

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

Автор: fox 2.06.2007 18:25

найти произведение всех положительнвх элементов матрицы и заменить им все диогональные элементы.помогите плиз. rolleyes.gif

Автор: Ozzя 2.06.2007 18:31

http://forum.pascal.net.ru/index.php?showtopic=2694

Автор: compiler 2.06.2007 18:44

Цитата(fox @ 2.06.2007 14:25) *
найти произведение всех положительнвх элементов матрицы и заменить им все диогональные элементы.помогите плиз. rolleyes.gif
два вложеных цикла, один проходит по строкам, другой по столбцам. в теле проверяеш условие и если оно выполняется добавляеш текущей элемент к сумме...
Цитата(fox @ 2.06.2007 14:25) *
и заменить им все диогональные элементы.
организовуеш цикл до мин. стороны и проводиш заменение...

напоминаю опирация присваевывания элементу/элемента матрици происходит так..
a[i, i]:=s;
s:=s+a[i,j];

теперь, надеюсь, увидеть твой код smile.gif

Автор: volvo 2.06.2007 21:23

Цитата
и если оно выполняется добавляеш текущей элемент к сумме...
А ты срочно перечитываешь задание, и делаешь так КАЖДЫЙ раз, прежде чем что-то советовать! Разговора о сумме не было вообще. Сумма и произведение - несколько разные вещи...

Автор: klem4 2.06.2007 21:42

 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...


Автор: fox 2.06.2007 22:22

спасибо за всё но плиз напишите как решать там матрица квадратная n=4;

Автор: compiler 2.06.2007 23:02


Цитата(fox @ 2.06.2007 18:22) *
спасибо за всё но плиз напишите как решать там матрица квадратная n=4;
квадратная, тогда так
const 
n =3; //или 4
var
i,j:integer;
s:longint;
a:array[0..n, 0..n]of integer;
begin
randomize; //эти 4 строки просто заполняют массив...
for i:=0 to n do
for j:=0 to n do
a[i,j]:=random(10)-5;

s:=1;
for i:=0 to n do
for j:=0 to n do
if a[i,j]>0 then s:=s*a[i,j];

for i:=0 to n do a[i,i]:=s;


for i:=0 to n do begin
for j:=0 to n do
write( a[i,j] :7 );
writeln;
end;

readln;
read;
end.


вроде так...

Автор: klem4 3.06.2007 0:11

Сообщение мое проигнорировал ... Чтож твое дело.

Правила одни для все и их нужно соблюдать. Закрыто.