Помогите.
Описать процедуру Transp(A,m), выполняющую транспонирование квадратной вещественной матрицы А порядка М. Двумерный массив А - входной и выходной параметр, М-входной параметр. Использовать эту процедуру для транспонирование данной матрицы А порядка М.
Матрицу незнаю совсем, можете привести пример для данной задачи.
> Матрицу незнаю совсем
var a: array [0 .. m-1, 0 .. m-1] of extended;
вот тебе матрица
Транспонировать - значит, каждый элемент [i,j] поменять местами с элементом [j,i].
Кстати, почему в названии темы нету ни слова "транспонирование", ни слова "матрица"?
> Ок, буду знать
Ну и? Отредактируй же название темы.
У меня куча ошибок. помогите исправьте подскажите.
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]);
{---------------------------------------------------------------------------}
Procedure Transp(var a:matrix; n:byte);
Var
i,j:byte;
BEGIN
for i:=1 to n do
begin
for j:=1 to n do
a[j,i]:=a[i,j];
End;
writeln;
{---------------------------------------------------------------------------}
begin
clrscr;
vvod(matrix);
transp(matrix);
end.
А у тебя там end-ов не хватает, посмотри внимательно.
Да, не компилируется. где я еще ошибся ((
Да много где. У тебя матрица - два измерения, а ты заполняешь ее по одному?
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;