IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Транспонирование без вспомогательной матрицы
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Подскажите,пожалуйста,как транспонировать квадратную матрицу без использования вспомогательной.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


 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;


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Спаисбо! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Помогите плиз!
Мне надо транспонировать ПРЯМОУГОЛЬНУЮ матрицу без использования вспомогательной.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


по-моему, это невозможно sad.gif размерность меняется. то есть либо работать с динамическими структурами, либо выделять память с запасом и забивать пустое место нулями


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
Мне надо транспонировать ПРЯМОУГОЛЬНУЮ матрицу

Покажи, как у тебя описана исходная матрица в таком случае... Что во что ты собрался транспонировать?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Ну задание звучит так: Выполнить операцию транспонирования прямоугольной матрицы A(m,n) m<>n, не выделяя дополнительного массива для хранения результата.
Должна получиться матрица A(n,m)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Я не спрашивал, как звучит задание... Я спросил, как ты собрался при описании, скажем
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;
. Вот ее можно будет транспонировать.

P.S. Я надеюсь, понятно, что функции при описании типов/переменных использовать нельзя, и то что я привел - всего лишь псевдокод? Это я тем любителям находить ЧУЖИЕ ошибки, которые сюда сейчас налетят под маской гостей dry.gif

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата

Я спросил, как ты собрался при описании, скажем
var matrix: array[1 .. 2, 1 .. 3] of integer; получить в результате матрицу array[1 .. 3, 1 .. 2] of integer ?


Ну это и ежу понятно, что так не получится)))
Я описала матрицу A:array[1..100,1..100] of integer; потом в проге задается кол-во строк и столбцов. Ну например 5 и 4. Пробовала много вариантов, но в матрице либо не меняется последний столбик, либо вместо него нули или еще какая-нибудь ерунда wacko.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Я написала, но только по-читерски=)

  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;



Получается, что транспонируется квадратная матрица, а потом уже выводится то, что надо. Не знаю, прокатит ли=)
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name