0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
||||||
1 | ||||||
Класс: Разработать класс для работы с матрицами(операции над матрицами)...02.12.2019, 17:42. Просмотров 873. Ответов 13
Метки нет Все метки)
(
Добрый вечер, хочу попросить о помощи с отловом проблемы.
Сама задача: разработать класс для работы с матрицами(операции над матрицами).Моя часть работы написать транспонирование. Сама проблема: не выдает 1 элемент матрицы при нормальном выводе(return c; ), зато выдает его при выводе(return *(&c+0); ) Есть у кого идеи почему так? Интересные моменты, в Vs17 выдает правильный результат с return c; и не ругается. В Watcom-e выдает какой-то хлам из оперативной памяти вместо 1-ого элемента и при этом не ругается. P.s Пишу первый раз прошу, так что сори за ошибки. И за форматирование кода тоже сори, в процессе все.
0
|
|
02.12.2019, 17:42 | |
Класс для работы с матрицами Класс для работы с матрицами Класс для работы с матрицами 2х2
__________________
13
Помогаю в написании студенческих работ здесь. Записывайтесь на профессиональные курсы C++ разработчиков |
|
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
|
02.12.2019, 18:00 [ТС] | 3 |
выдает ошибки:
expression must have pointer type operand type is 'Matrix(lvalue)'
0
|
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
|
02.12.2019, 18:32 [ТС] | 5 |
можете поподробнее объяснить все(как для тупых)
0
|
бах-бах и в продакшен!
|
|
02.12.2019, 18:37 | 6 |
Вам нужно написать конструкторы копирования и перемещения и перегрузить operaior= .
Добавлено через 2 минуты для Matrix c(cols, rows); после выхода из функции будет запущен деструктор, который уничтожит эту матрицу. Вне функции вы получите невалидный указатель elems внутри объекта с
0
|
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
|
02.12.2019, 18:45 [ТС] | 7 |
Спасибо большое за объяснение
0
|
бах-бах и в продакшен!
|
|
02.12.2019, 19:17 | 8 |
In2Come, вот вроде неплохой вариант:
Создать класс матрица смотрите, изучайте. Добавлено через 4 минуты или вот Класс Матриц: вставка/извлечение столбца
0
|
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
|
02.12.2019, 20:41 [ТС] | 9 |
XLAT, нагло будет вас попросить написать это с объяснениями?(так чтобы оно выдавало верный результат) Потому что я не догоняю.
0
|
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
|
02.12.2019, 21:39 [ТС] | 11 |
С напарником перенесли во внешнюю функцию и сделали ее friend и сработало нормально.
Уточнить можете, что вы имеете под 'имеет ли смысл такого преобразования для прям.угол. матрицы'? Если имели ввиду, что правильно ли отработает транспонирование для матрицы MxN, то правильно, проверяли уже. 'Если имеет, то в каких задачах?' - в учебных, это зачетная работа и мы пытаемся осознать, как оно отрабатывает, но пока туго, местами даже преподаватель не может объяснить..
0
|
бах-бах и в продакшен!
|
||||||
02.12.2019, 22:55 | 12 | |||||
ок.
я тож чуть ваш код подправил(по пути меньшего сопротивления): но оставил внутри класса:
0
|
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 29
|
|
02.12.2019, 23:05 [ТС] | 13 |
Спасибо большое XLAT, если не затруднит можете в паре слов объяснить как работает указатель на структуру(->) в данном примере?
0
|
бах-бах и в продакшен!
|
||||||
02.12.2019, 23:59 | 14 | |||||
1. Указатель это адрес в памяти.
2. Оператором new выделяется область памяти размером необходимым. чтобы разместить там нашу структуру. 3. И начало этой области памяти присваивается указателю. 4. Но теперь у нас возникает опасность упустить этот указатель из виду. 5. Если это произойдет, то мы получим утечку памяти. Поэтому, всегда, когда указатель перестает нам быть нужным нужно не забывать вызвать оператор delete: выше я забыл это сделать(но в конкретном этом случае это сделает ОС при закрытии программы.)
про RAII хорошо написано здесь: https://habr.com/ru/sandbox/21... obile%3Dno
0
|
02.12.2019, 23:59 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Создать класс для работы с матрицами Создать динамический класс для работы с матрицами Класс для работы с матрицами - Что дает перегруженный оператор индексирования? Разработать класс для работы с матрицами Разработать класс для работы с матрицами Класс для работы с матрицами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |