Пожалуйста, подскажите сам цикл, че то никак врубиться не могу....
Если еще будет возможность прописать через процедуру, на седьмом небе окажусь!
Заранее спасибо!
for j:=1 to n do matr2[i,j]:=matr1[j,i]
для прямоугольной такой вариант не катит...
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Цикл транспонирования прямоугольной матрицы. |
Axeo |
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Неважно как задается матрица. Главное использование массива.
Пожалуйста, подскажите сам цикл, че то никак врубиться не могу.... Если еще будет возможность прописать через процедуру, на седьмом небе окажусь! Заранее спасибо! Код for i:=1 to n do for j:=1 to n do matr2[i,j]:=matr1[j,i] для прямоугольной такой вариант не катит... |
volvo |
Сообщение
#2
|
Гость |
Описание массива, с которым это все будет производиться, можно увидеть? Как ты собрался транспонировать матрицу (2x3) в матрицу (3x2) в RunTime?
|
MAXXX |
Сообщение
#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 - |
Axeo |
Сообщение
#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 мин. А как ты собираешся транспонировать данные из матрицы размером(м*н) в (н*м) Другое дело, если у тебя обе матрицы размера макс(м*н), но значущие только м*н еементов 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 - |
мисс_граффити |
Сообщение
#5
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
извините меня, конечно... но в математике операция транспонирования определена только для квадратных матриц. у прямоугольных и диагонали-то как таковой нет...
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
Сообщение
#6
|
Гость |
Юля, ты чего?
1 2 3 4 5 6 я не могу транспонировать (в математике) в 1 4 2 5 3 6 ? |
мисс_граффити |
Сообщение
#7
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Все. Больше после изучения философии в 4 утра не буду на форум писать...
Сорри. Мне стыдно. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Текстовая версия | 6.05.2024 9:15 |