Подскажите,пожалуйста,как транспонировать квадратную матрицу без использования вспомогательной.
for i2:=0 to m-1 do
for j2:=0 to i2 do
begin
vsp:=A2[i2,j2];
A2[i2,j2]:=A2[j2,i2];
A2[j2,i2]:=vsp;
end;
Спаисбо!
Помогите плиз!
Мне надо транспонировать ПРЯМОУГОЛЬНУЮ матрицу без использования вспомогательной.
по-моему, это невозможно размерность меняется. то есть либо работать с динамическими структурами, либо выделять память с запасом и забивать пустое место нулями
Ну задание звучит так: Выполнить операцию транспонирования прямоугольной матрицы A(m,n) m<>n, не выделяя дополнительного массива для хранения результата.
Должна получиться матрица A(n,m)
Я не спрашивал, как звучит задание... Я спросил, как ты собрался при описании, скажем
var matrix: array[1 .. 2, 1 .. 3] of integer; получить в результате матрицу array[1 .. 3, 1 .. 2] of integer ?
Читай ответ мисс_граффити, и описывай матрицу как
mx: Array[1 .. max(m, n), 1 .. max(m, n)] of integer;. Вот ее можно будет транспонировать.
Я написала, но только по-читерски=)
if m>n then t:=m else t:=n;
for i:=1 to t-1 do
for j:=i+1 to t do begin
sub:=a[i,j];
a[i,j]:=a[j,i];
a[j,i]:=sub;
end;
...
for i:=1 to n do begin
for j:=1 to m do write(a[i,j]:3);
writeln;
end;