|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.02.2012, 15:29 | #1 |
Пользователь
Регистрация: 25.11.2010
Сообщений: 15
|
транспонирование прямоугольной матрицы
Вроде простая задачка, но я сообразить не могу
Пишу: Код:
1 2 3 4 4 6 7 8 8 10 11 12 Как преобразовать эту часть: Код:
Заранее благодарен Последний раз редактировалось che91; 11.02.2012 в 16:31. |
11.02.2012, 16:16 | #2 | |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Вот сообщение подходящее, правда для с++.
Цитата:
Код:
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
|
11.02.2012, 16:26 | #3 |
Пользователь
Регистрация: 25.11.2010
Сообщений: 15
|
Матрица прямоугольная, n -- это число строк или столбцов?
И есть подозрение, что я пару часов назад это уже пробовал, и не дало желаемого Я уже как только не извращался, гугл не дает однозначной и полезной инфы( |
11.02.2012, 16:26 | #4 |
Пользователь
Регистрация: 25.11.2010
Сообщений: 15
|
С синтаксисом Си я знаком, можно и на Си, если вам так удобнее
|
11.02.2012, 16:32 | #5 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Во 2м цикле заменить n на m, ошибся. n - строки, m - столбцы.
Главный вопрос и он же проблема - в том, что матрицу (даже прямоугольную) в паскале нужно изначально объявлять квадратной с размером max(n,m), чтобы не было выхода за границы массива.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
11.02.2012, 16:35 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
che91, ничего не получится у Вас при таком подходе.
очевидно же, что если исходная матрица не квадратная (прямоугольная) и имеет размерность row x col то транспонированная будет иметь размерность col x row Ну и переменные для соответствующие матриц должны иметь такие размерности. В вашем же случае исходная и траспонированная имеют одинаковую размерность. Это неправильно! Добавлено Цитата:
или делать различные объявления (разную размерность) для исходной и траспонированной матриц: Код:
Последний раз редактировалось Serge_Bliznykov; 11.02.2012 в 16:38. |
|
11.02.2012, 16:36 | #7 |
Пользователь
Регистрация: 25.11.2010
Сообщений: 15
|
Но если её объявит квадратной, то при замене эл-ты не встанут на нужные места, была идея в текстовый документ записать и считывать оттуда. но это как то совсем по-нупски
Код:
Последний раз редактировалось che91; 11.02.2012 в 16:40. |
11.02.2012, 16:43 | #8 |
Пользователь
Регистрация: 25.11.2010
Сообщений: 15
|
Спасибо, товарищи! глаза мне открыли, туплю сижу весь вечер.
|
11.02.2012, 16:45 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Нужно только помнить, что у Вас есть число строк (row) и число столбцов (col). В транспонированной матрице они взаимно поменяют свой смысл (число строк станет числом столбцов и наоборот), но значения у них останутся! Нужно не забывать их использовать в циклах и всё у Вас получится! p.s. кстати, а зачем Вам траспонировать матрицу то?! Если вы будете к исходной обращаться в обратном порядке. и не нужно никакой дополнительной структуры!! |
|
11.02.2012, 16:46 | #10 |
Пользователь
Регистрация: 25.11.2010
Сообщений: 15
|
Всё работает, свою глупейшую ошибку исправил, как мне вас отблагодарить?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Транспонирование матрицы | Vally | Помощь студентам | 0 | 28.12.2011 20:37 |
Программа вычисления прямоугольной матрицы на вектор. | Настёнка1512 | Помощь студентам | 1 | 02.01.2011 08:53 |
транспонирование матрицы 6*6 на си | fatefighter | Общие вопросы C/C++ | 1 | 17.03.2010 21:12 |
Упорядочить строку целочисленной прямоугольной матрицы | Woodyy | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 06.06.2009 17:15 |
Задача на элементы прямоугольной матрицы | Knife | Помощь студентам | 3 | 08.04.2009 22:00 |