Помогите. Описать процедуру Transp(A,m), выполняющую транспонирование квадратной вещественной матрицы А порядка М. Двумерный массив А - входной и выходной параметр, М-входной параметр. Использовать эту процедуру для транспонирование данной матрицы А порядка М.
Матрицу незнаю совсем, можете привести пример для данной задачи.
TarasBer
24.11.2010 15:48
> Матрицу незнаю совсем
var a: array [0 .. m-1, 0 .. m-1] of extended;
вот тебе матрица
Credo
24.11.2010 15:57
Цитата(TarasBer @ 24.11.2010 15:48)
> Матрицу незнаю совсем
var a: array [0 .. m-1, 0 .. m-1] of extended;
вот тебе матрица
а это ясно, мне бы пример для данной задачи)) можно?
мисс_граффити
24.11.2010 16:05
Транспонировать - значит, каждый элемент [i,j] поменять местами с элементом [j,i].
TarasBer
24.11.2010 16:07
Кстати, почему в названии темы нету ни слова "транспонирование", ни слова "матрица"?
Credo
24.11.2010 16:17
Цитата
Транспонировать - значит, каждый элемент [i,j] поменять местами с элементом [j,i].
Спасибо, постораюсь чтот сделать.
Цитата
Кстати, почему в названии темы нету ни слова "транспонирование", ни слова "матрица"?
Ок, буду знать
TarasBer
24.11.2010 16:19
> Ок, буду знать
Ну и? Отредактируй же название темы.
Credo
24.11.2010 16:41
Цитата
Ну и? Отредактируй же название темы.
сделал
Credo
25.11.2010 22:54
У меня куча ошибок. помогите исправьте подскажите.
program proc; uses crt; const n=5; type matrix=array [0..n-1,0..n-1] of extended;
procedure vvod(var a:matrix; n:byte); var i,j:byte; BEGIN writeln('Исходная матрица: '); for i:=1 to n do a[i]:=random(n); for j:=1 to n do a[j]:=random(n); write(a[i,j]);
А у тебя там end-ов не хватает, посмотри внимательно.
Credo
25.11.2010 23:37
Да, не компилируется. где я еще ошибся ((
volvo
25.11.2010 23:54
Да много где. У тебя матрица - два измерения, а ты заполняешь ее по одному?
procedure vvod(var a:matrix; n:byte); var i, j: byte; BEGIN writeln('Исходная матрица: '); for i:=0 to n-1 do for j:=0 to n-1 do { раз написал, что индексы от 0 (кому это надо - непонятно) } begin a[i, j]:=random(n); { <--- Вот оно, правильное обращение к элементу... } write(a[i,j]); end; end;
Аналогично с индексами исправляй в другой процедуре.
И еще: ты не боишься, что перенесешь ДВАЖДЫ каждый элемент, и в итоге матрица останется прежней? Все-таки надо как-то ограничить цикл, чтоб этого не произошло...
Credo
26.11.2010 11:12
Цитата
У меня куча ошибок
Цитата
Да много где
Знаю
Цитата
Аналогично с индексами исправляй в другой процедуре.
И еще: ты не боишься, что перенесешь ДВАЖДЫ каждый элемент, и в итоге матрица останется прежней? Все-таки надо как-то ограничить цикл, чтоб этого не произошло...
Спасибо вам, буду разбиратся.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.