1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Манипуляции с матрицей, матрица из массивов и действия над ними
берем любую матрицу [2*2].......[10*10] Приравневаем каждый столбец и строчку к матрице и сравниваем их .... в моем случае надо сравнить столбцы и выложить их с большего на меньший( в начале идет самый большой столбец потом средний и самый маленький). Для сравнения берем и прировняем каждый столбец к массиву ( складываем числа каждого массиваи сравниваем ( mas2>mas3>mas1 пример ) . вот
берем любую матрицу [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;
берем любую матрицу [2*2].......[10*10] Приравневаем каждый столбец и строчку к матрице и сравниваем их .... в моем случае надо сравнить столбцы и выложить их с большего на меньший( в начале идет самый большой столбец потом средний и самый маленький). Для сравнения берем и прировняем каждый столбец к массиву ( складываем числа каждого массиваи сравниваем ( mas2>mas3>mas1 пример ) . вот
воб ще то я написал что нуно использовать функцию..
Вообще-то я НЕ ВИЖУ, куда тут запихать функцию, а поскольку ты объясняешь так, как объясняли тебе - то я делаю так, как научили меня: функция должна использоваться тогда, когда надо возвращать результат. Причем, результат одного из перечислимых типов, поскольку тема создана в разделе для Turbo Pascal (т.е., не матрицу, скажем). Что будем возвращать, не подскажешь? Нет? Тогда используй процедуру...
Я знаю почему функцию.... потому что задача коллективная..... МЫ(наша группа) должна написать прогу, которая полностью перебирает матрицу и по строкам и по столбцам..
Напишите программу и пришлите ее текст на lex0mania@inbox.ru или gu.ru312@inbox.ru до 17:00 18,06,2007..... програмка не сложня..... очень даже легкая, мнесдыдно что я такое не могу написать..... плизз ай нид хелп.
а иожно написать по моей схеме берем матрицу н и м размеров..... потом приравниваем столбец к масиву с помощью функции сравниваем их и выстраиваем по порядку, т. е. с большего на наименьший..... вот .... Словарный запас в языке паскаля у меня маленький.... ну помогите п-та
program practic; type matrica= array [1..15,1..15] of real; var a:matrica; i, j, k, n , m : byte; b:real; begin write ('m='); readln (m); write('n='); readln (n); for i:=1 to m do for j:= to n do begin write (' a[',i,',',j,']='); readln (a[i,j]); end; writeln(' matrica a'); for i:=1 to m do begin for j:=1 to n do write (a[i,j] , '') writeln end; for j:=1 to n do for k:=1 m-1 do for i:=1 to m-k do if a[i,j]< a[i+1, j] then begin b:=a[i,j]; a[i, j];=a[i+1, j]; a[i+1,j];=b; end; writeln ('preobrazovanaya matrica a'); for i:=1 to m do begin for j:=1 to n do write (a[i,j], ' '); writeln; end; end.
program practic; type matrica= array [1..15,1..15] of real; var a:matrica; i, j, k, n , m : byte; b:real; begin write ('m='); readln (m); write('n='); readln (n); for i:=1 to m do for j:=1 to n do begin write (' a[',i,',',j,']='); readln (a[i,j]); end; writeln(' matrica a'); for i:=1 to m do begin for j:=1 to n do write (a[i,j] , ''); writeln; end; for j:=1 to n do for k:=1 to m-1 do for i:=1 to m-k do if a[i,j]< a[i+1, j] then begin b:=a[i,j]; a[i, j]:=a[i+1, j]; a[i+1,j]:=b; end; writeln ('preobrazovanaya matrica a'); for i:=1 to m do begin for j:=1 to n do write (a[i,j], ' '); writeln; end; readln; read; end.