Помощь - Поиск - Пользователи - Календарь
Полная версия: матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
fox
найти произведение всех положительнвх элементов матрицы и заменить им все диогональные элементы.помогите плиз. rolleyes.gif
compiler
Цитата(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
Цитата
и если оно выполняется добавляеш текущей элемент к сумме...
А ты срочно перечитываешь задание, и делаешь так КАЖДЫЙ раз, прежде чем что-то советовать! Разговора о сумме не было вообще. Сумма и произведение - несколько разные вещи...
klem4
 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...

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

Цитата(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
Сообщение мое проигнорировал ... Чтож твое дело.

Правила одни для все и их нужно соблюдать. Закрыто.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.