1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Манипуляции с матрицей, матрица из массивов и действия над ними
берем любую матрицу [2*2].......[10*10] Приравневаем каждый столбец и строчку к матрице и сравниваем их .... в моем случае надо сравнить столбцы и выложить их с большего на меньший( в начале идет самый большой столбец потом средний и самый маленький). Для сравнения берем и прировняем каждый столбец к массиву ( складываем числа каждого массиваи сравниваем ( mas2>mas3>mas1 пример ) . вот
Вот сама программа (работает на матрице 3*3)... Добавь ввод данных пользователем, и выбор размерности - будет работать так, как тебе нужно:
const n = 3; type matrix = array[1 .. n, 1 .. n] of integer;
procedure sort_column(var ar: matrix; x: integer); var i, j, T: integer; begin for i := 1 To n Do for j := n downto i + 1 do if ar[pred(j), x] < ar[j, x] then begin T := ar[pred(j), x]; ar[pred(j), x] := ar[j, x]; ar[j, x] := T end end;
procedure sort_first_row(var ar: matrix); var i, j, k, T: integer; begin
for i := 1 To n Do for j := n downto i + 1 do if ar[1, pred(j)] < ar[1, j] then
for k := 1 to n do begin T := ar[k, pred(j)]; ar[k, pred(j)] := ar[k, j]; ar[k, j] := T end
end;
procedure print(const ar: matrix); var i, j: integer; begin
for i := 1 to n do begin for j := 1 to n do write(ar[i, j]:3); writeln; end;