Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 11:18   #1
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию Транспонировать матрицу(Без исп. доп. массивов))

Цитата:
Дана матрица чисел nxn . Транспонировать данную матрицу. При решении данной задачи не использовать дополнительные массивы. Данные должны быть физически перемещены.
Помогите, как транспонировать матрицу без исп. доп. массивов.
Doublefaced вне форума Ответить с цитированием
Старый 22.06.2009, 14:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в цикле, все элементы выше главной диагонали попарно меняете с зеркальными элементами
A[1,2] <-> A[2,1]
A[1,3] <-> A[3,1] и т.д.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.06.2009, 14:03   #3
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию

Можно чуть подробнее?
Doublefaced вне форума Ответить с цитированием
Старый 26.06.2009, 20:28   #4
Doublefaced
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 100
По умолчанию

Чтоб было, вот
Цитата:
program Project236;

{$APPTYPE CONSOLE}

uses
SysUtils;
const n =6;
var a:array[1..n,1..n]of integer;
i,j,x:integer;
begin
Writeln('Ishodnaia matrica:');
for i:= 1 to n do
begin
For j:=1 to n do
begin
a[i,j]:=random(20);
Write(a[i,j]:4);
end;
Writeln;
end;
Writeln('Transponirovannaia matrica:');
For i:=1 to n do
For j:=1 to n do
If j<i then
begin
x:=a[i,j];
a[i,j]:=a[j,i];
a[j,i]:=x;
end;
For i:=1 to n do
begin
For j:=1 to n do
Write(a[i,j]:4);
Writeln;
end;
readln
end.
Doublefaced вне форума Ответить с цитированием
Старый 27.06.2009, 13:03   #5
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Код:
program transp;
{$APPTYPE CONSOLE}
const
   n = 6;
var
   i, j : integer;
   a : array [1 .. n, 1 .. n] of integer;
procedure swapint(var a, b : integer);
begin
   a := a + b;
   b := a - b;
   a := a - b;
end;
begin
   for i := 1 to n do
      for j := 1 to n do
         a[i, j] := random(20);
   for i := 1 to n do
      for j := i + 1 to n do
         swapint(a[i, j], a[j, i]);
end.
megachuhancer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Делфи]Как вывести из мемо все что есть (без циклов и массивов) zotox Помощь студентам 3 03.05.2009 20:25
[Делфи] Как сделать чтобы символ много раз повторялся (без массивов) zotox Помощь студентам 4 01.05.2009 22:10
Объясните пожалуйста как можно считать значения в этом файле в вектор, 4 -ую матрицу, 6-ую матрицу ciaonataha Помощь студентам 1 30.03.2009 20:57
Помогите пожалуйста написать программу со стрингами без массивов Fylhtq Паскаль, Turbo Pascal, PascalABC.NET 2 08.01.2009 00:48
организовать тест с рандомовским выбором без применения массивов/ VBA АнНютик Помощь студентам 6 22.12.2008 22:18