2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
||||||
1 | ||||||
Класс Matrix, Перегрузка18.11.2012, 13:46. Показов 5565. Ответов 19
Метки нет (Все метки)
День добрый... У нас есть класс матрица (NxM), нужно сделать перегрузку "+", со статик матрицой всё работало прекрасно...но после переделки под динамическую, перестало...даже вывод перестал работать, подскажите пожалуйста, где ошибка(
0
|
18.11.2012, 13:46 | |
Ответы с готовыми решениями:
19
Класс Matrix: реализовать шаблонный класс для двумерных массивов Перегрузка конструкторов (создание класса Matrix, перемножение матриц) Создать класс Matrix и класс Size класс Matrix (СРОЧНО !!!) |
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
||||||
18.11.2012, 14:08 | 2 | |||||
попробуй 17 строка
1
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
18.11.2012, 14:42 [ТС] | 3 |
Тааак, заработало. Но сумму не находит.
в 78 строке убрал параметры(на автомате их туда наверно поставил,не ожидая что в конструкторе буду массив заполнять), всё равно не складывает (
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 14:48 | 4 |
1
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
18.11.2012, 14:49 [ТС] | 5 |
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 14:51 | 6 |
сделать код не читаемым? Сформулируй задание полностью. У тебя класс реализован не совсем верно.
1
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
||||||
18.11.2012, 14:56 [ТС] | 7 | |||||
Составить описание класса для представления типа данных "веществвенные матрица":
список перегружаемых операций
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 15:06 | 8 |
Я посмотрел, твой код тебе не кажется, что ты забыл перегрузить оператор = .
1
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
||||||
18.11.2012, 15:21 [ТС] | 9 | |||||
Добавлено через 8 минут P.S. Для проверки использую квадратную матрицу, пока не заморачиваюсь с тем, что она может быть любой размерности
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 15:33 | 10 |
Надо перегружать оператор индексации [] и складывать по нормальному. У тебя в целом не очень правильно сделано.
0
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
18.11.2012, 15:33 [ТС] | 11 |
Можешь,пожалуйста, по порядку объяснить что мне нужно сделать? Если можно пошагово.
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 15:34 | 12 |
Давай так сделаем, напиши мне полностью задание, я тебе набросаю как правильно, а ты потом переделаешь под свои требовании.
1
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
18.11.2012, 15:39 [ТС] | 13 |
Составить описание класса для представления типа данных «вещественная матрица»:
typedef double T; class TMatrix{ private: T **arr; // двумерный массив int N; // число строк int M; // число столбцов }; Обратите внимание на то, что некоторые операции имеют смысл только тогда, когда матрицы имеют одинаковый размер или являются квадратными! Особого внимания заслуживает операция умножения матриц (см. учебники по линейной алгебре и аналитической геометрии). Список перегружаемых операций и методов: 1. + – операция сложения матриц; 2. - – операция вычитания матриц; 3. * – операция умножения матриц; 4. комбинированные операции +=, -=, *=; 5. операции извлечь из потока >> и поместить в поток <<; 6. ++, -- – операции инкремента и декремента (префиксная и постфиксная форма); 7. - , + – операции унарный минус и плюс; 8. = – операция присваивания; 9. операция обращения к отдельному элементу матрицы с контролем выхода за границы, как перегруженную операцию вызова функции operator()(size_t i, size_t j); 10. *, / – операции умножения и деления с вещественными числами (только в виде перегруженных дружественных функций); 11. методы, реализующие проверку типа матрицы (квадратная, диагональная, нулевая, единичная, симметрическая, верхняя треугольная, нижняя треугольная) – по указанию преподавателя; 12. возведение матрицы в неотрицательную степень; 13. конструктор по умолчанию; 14. конструктор с параметрами; 15. конструктор копирования; 16. деструктор. Вот...Многого не прошу, хотел сначала с обычным сложением разобраться, а потом уже и остальное само придёт)
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 15:44 | 14 |
К вечеру напишу всё полностью и с комментариями.
Но вот так писать неправильно.
1
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
18.11.2012, 15:45 [ТС] | 15 |
Ну это уж преподаватели так составляли => брали из какой-нибудь учебной лит-ры.
Спасибо. Жду с нетерпением.
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
||||||
18.11.2012, 21:23 | 16 | |||||
Вот так можно сделать класс Матрица
Кликните здесь для просмотра всего текста
Посмотри внимательно, возможны ошибки, ты можешь просто от этого кода оттолкнуться и как тебе надо его поменять. Я исходил из того что все матрицы одинакового размера, поэтому если надо изменить легко.
3
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
18.11.2012, 21:27 [ТС] | 17 |
Спасибо большое, сейчас буду разбираться) Ещё раз спасибо!
double Matrix::operator() (int i, int j) //обращение к отдельному элементу Можно узнать поконкретней, что она делает?
0
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
18.11.2012, 21:34 | 18 |
i и j индексы элемента, если индексы не выходят за пределы размера матрицы, то тогда возвращается элемент с этими индексами иначе сообщение об ошибки.
1
|
I.M.
|
19.11.2012, 01:53
#19
|
0
|
2 / 2 / 1
Регистрация: 28.03.2012
Сообщений: 76
|
|
19.11.2012, 08:15 [ТС] | 20 |
0
|
19.11.2012, 08:15 | |
19.11.2012, 08:15 | |
Помогаю со студенческими работами здесь
20
Создать класс Matrix Создать класс matrix Реализовать класс matrix Создать параметризированный класс Matrix Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |