1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Дана матрица A размером m x n , состоящая из натуральных чисел, больших 1. В этой задаче требуется найти :
1). Строки матрицы упорядочить по невозрастанию произведения элементов строк 2). Составить одномерный массив B, в котором Bj , равен номеру столбца, содержащего только числа, кратные 5, в противном случае Bj = 0.
---------------
Как упорядочить по невозрастанию я знаю, а вот вопрос : Как найти произведение строк ?
const nm=10; mm=10; var n,m,i,j,tmp:longint; a:array[1..mm,1..nm] of longint; tta,psa:array[1..nm] of longint;
begin readln(m,n); for i:=1 to m do begin psa[i]:=1; for j:=1 to n do begin read(a[i,j]); psa[i]:=psa[i]*a[i,j]; end; readln; end;
for i:=1 to m do for j:=1 to m do begin if psa[i]>psa[j] then begin tmp:=psa[i]; psa[i]:=psa[j]; psa[j]:=tmp; for tmp:=1 to n do tta[tmp]:=a[i,tmp]; for tmp:=1 to n do a[i,tmp]:=a[j,tmp]; for tmp:=1 to n do a[j,tmp]:=tta[tmp]; end; end;
for i:=1 to m do begin for j:=1 to n do write(a[i,j],' '); writeln; end; end.
А как мне его переделать, если мне нужно чтобы матрица была задана вот так :