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

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

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

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





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

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


Неважно как задается матрица. Главное использование массива.
Пожалуйста, подскажите сам цикл, че то никак врубиться не могу....
Если еще будет возможность прописать через процедуру, на седьмом небе окажусь!
Заранее спасибо!


Код
for i:=1 to n do
for j:=1 to n do matr2[i,j]:=matr1[j,i]

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


Гость






Описание массива, с которым это все будет производиться, можно увидеть? Как ты собрался транспонировать матрицу (2x3) в матрицу (3x2) в RunTime?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


В поисках Занаду
*

Группа: Пользователи
Сообщений: 17
Пол: Мужской
Реальное имя: Андрей Максай

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


А как ты собираешся транспонировать данные из матрицы размером(м*н) в (н*м) Другое дело, если у тебя обе матрицы размера макс(м*н), но значущие только м*н еементов 1-ой матрицы
Тогда твой код должен проходить
Вот примерная реализация
Код

Const maxn=100;
         maxm=100;
Var matr1,matr2:array[1..maxn,1..maxm] of Integer;
      n,m,i,j:Integer;
begin
{ввод н,м,таблицы}
For i:=1 to n do
For j:=1 nto m do
matr2[j,i]:=matr1[i,j];
{вывод в цикле
For i:=1 to m do
For j:=1 to n do
Write(a[i,j]}
end.


Сообщение отредактировано: MAXXX -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


В общем, вопрос наверное уже не актуален...

Работает такой вариант:

Код
program laba8v1;
var a:array[1..19, 1..19] of real;
    b:array[1..19, 1..19] of real;
    c,n,m,i,j,s,k:integer;

Begin
writeln('stroki n,stolbci m:');
readln(n,m);
writeln('Matrix A:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(10);
write(a[i,j]:4:0);
end;
writeln;
end;
readln;
for j:=1 to m do
begin
for i:=1 to n do
begin
write(a[i,j]:4:0);
end;
writeln;
end;
writeln;
readln;
end.



Не знаю чего я тупил =/

Добавлено через 1 мин.
Цитата(MAXXX @ 18.05.2007 22:40) *

А как ты собираешся транспонировать данные из матрицы размером(м*н) в (н*м) Другое дело, если у тебя обе матрицы размера макс(м*н), но значущие только м*н еементов 1-ой матрицы
Тогда твой код должен проходить
Вот примерная реализация
Код

Const maxn=100;
         maxm=100;
Var matr1,matr2:array[1..maxn,1..maxm] of Integer;
      n,m,i,j:Integer;
begin
{ввод н,м,таблицы}
For i:=1 to n do
For j:=1 nto m do
matr2[j,i]:=matr1[i,j];
{вывод в цикле
For i:=1 to m do
For j:=1 to n do
Write(a[i,j]}
end.




Этот вариант обрезает значения если n не равно m. Вроде....хммм

Сообщение отредактировано: Axeo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


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

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

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


извините меня, конечно... но в математике операция транспонирования определена только для квадратных матриц. у прямоугольных и диагонали-то как таковой нет...


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


Гость






Юля, ты чего? blink.gif
1 2 3
4 5 6
я не могу транспонировать (в математике) в
1 4
2 5
3 6
?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


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

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

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


Все. Больше после изучения философии в 4 утра не буду на форум писать... mega_chok.gif
Сорри.
Мне стыдно.


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

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

 





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