|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
|||||||||||
Матрицы - перегрузка оператора *26.06.2012, 15:38. Показов 7145. Ответов 24
Метки нет (Все метки)
Здравствуйте, помогите пожалуйста. Имеется библиотека Matrixclass.h, необходимо в ней перегрузить оператор умножения. Как только я не пытался его реализовать, но выводит не понять что. Посоветуйте что-нибудь по этому поводу.
Matrixclass.h
main
0
|
|||||||||||
| 26.06.2012, 15:38 | |
|
Ответы с готовыми решениями:
24
Перегрузка оператора + для динамической матрицы Перегрузка оператора умножения для матрицы
|
|
95 / 81 / 3
Регистрация: 13.05.2011
Сообщений: 279
|
|
| 26.06.2012, 16:24 | |
|
Вы возвращаете из оператора ссылку на статический объект (который удалится после возврата из функции).
1
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 26.06.2012, 18:05 | |
|
1
|
|
|
Комп_Оратор)
|
||||||||||||
| 26.06.2012, 18:41 | ||||||||||||
Память под массив выделяете динамически, а определения конструктора копирования не увидел. Обратите внимание. Извините, за краткость. Что успел, - заметил.
1
|
||||||||||||
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
||||||
| 28.06.2012, 15:01 [ТС] | ||||||
А если так. Компилятор ругается.
0
|
||||||
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
| 28.06.2012, 15:06 | |
|
Fedor N, а зачем вы используете одномерный массив, если это матрица?
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
|
| 28.06.2012, 15:13 [ТС] | |
|
В том то и дело, что нужен одномерный, иначе не передашь его функциям.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 28.06.2012, 15:31 | ||||||
|
Fedor N, двумерный динамический массив нельзя передать в функцию?
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
|
| 28.06.2012, 15:38 [ТС] | |
|
А разве одномерный массив вообще нельзя использовать? Мне преподаватель на этот счет ничего не говорил.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 28.06.2012, 15:44 | |
|
Fedor N, можно использовать всё, что позволяет выполнить задание. Человек удивился, почему не используется двумерный массив, в то время как это было бы логичнее с точки зрения человека (матрица - таблица, двумерный массив - тоже). Мой же комментарий был просто ответом на то, что двумерный динамический массив не получится передать в функцию.
0
|
|
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 28.06.2012, 15:50 | |
|
стоит обратить внимание на более существенные вещи, которые сейчас ограничивают использование этой матрицы в правильном коде.
Все функции, которые не изменяют матрицу, должны быть константными. Если в функцию передается матрица и она в ней не изменяется, то надо передавать в нее матрицу по константной ссылке, а не просто по ссылке. Те операторы, которые есть сейчас должны возвращать матрицу по значению (объект), а не по ссылке или указателю.
1
|
|
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
||||||
| 29.06.2012, 14:55 [ТС] | ||||||
|
Я понял, что можно по ссылке передать, просто я с двумерным массивом не умею работать.
Добавлено через 22 часа 59 минут
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
|||||||||||
| 01.07.2012, 19:54 [ТС] | |||||||||||
Здравствуйте, привожу код библиотеки Matrixclass.h но хочу заострить внимание на операторе умножения, если компилировать в таком варианте, то в результате матрицы В перемножаться. Я же хочу перемножить А и В матрицы. И тут возникает вопрос. Как?) пробую повсякому использовать указатель this,
0
|
|||||||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||||||||||||||||||||
| 01.07.2012, 20:04 | |||||||||||||||||||||
1
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
||
| 01.07.2012, 20:24 [ТС] | ||
|
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||||||
| 01.07.2012, 20:36 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
||
| 01.07.2012, 20:44 [ТС] | ||
|
ans = 32 33 34 56 60 64 56 60 64
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 01.07.2012, 20:52 | |
|
Ошибок в коде много, и очень серьёзных, но я не заметил причины неверной работы. Покажите весь код (в том числе клиентскую часть).
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
|
||||||
| 01.07.2012, 21:02 [ТС] | ||||||
|
Библиотека Matrixclass.h есть выше, преподаватель бы обиделся если бы ему сказали, что в его библиотеке много серьезных ошибок )) Я же пытаюсь оператор умножения по его библиотеке сделать. А так это вскоре будет целая программа для расчета СЛАУ, осталось только как раз это умножение доделать... Вот main.cpp
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 01.07.2012, 21:37 | ||||||
|
Fedor N, в коде преподавателя большинство из этих ошибок отсутствует (хотя мне всё же не понятен глубинный смысл поля temporary и адовых инструкций delete &M; и delete this; (
)). Вы же сами себя запутали, в одних местах поменяв порядок индексов (y, x вместо x, y), в других нет. Таким образом, инициализируете матрицу вы в одном порядке следования индексов (неверном), перемножаете же в верном... Вот подправленный, отформатированный и вычищенный код:
1
|
||||||
| 01.07.2012, 21:37 | |
|
Помогаю со студенческими работами здесь
20
Перегрузка оператора [] Перегрузка оператора Перегрузка оператора Перегрузка оператора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|