79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
1 | |
Разработать класс Матрица23.04.2016, 13:03. Показов 10042. Ответов 17
Метки нет (Все метки)
Дано задание:
Создать класс матрица Данный класс содержит указатель на int, размер строк и столбцов и состояние ошибки. Определить конструктор без параметров, конструктор с одним параметром и конструктор с двумя параметрами, деструктор. Конструктор без параметров выделяет место для одного элемента и инициализирует его в ноль. Конструктор с одним параметром, - размер массива, - выделяет место и инициализирует номером в массиве, конструктор с двумя параметрами выделяет место (первый аргумент) и инициализирует вторым аргументом. Деструктор освобождает память. Определить методы доступа: возвращать значение элемента (i,j) и адрес этого элемента. Определить функцию печати. Определить функции сложения и вычитания (матрицы с матрицей), умножение матрицы на матрицу. Определить умножение матрицы на число. Проверить работу этого класса. В случае нехватки памяти, несоответствия размерностей, выхода за пределы устанавливать код ошибки. Подскажите, пожалуйста, алгоритм решения данного задания. С чего и как правильно начать? Может, у кого-то есть подобные примеры?
0
|
23.04.2016, 13:03 | |
Ответы с готовыми решениями:
17
Разработать класс Матрица Разработать класс Matrix - матрица Разработать класс NormMatrix (матрица с единичным определителем) Разработать класс матрица, конструктор по умолчанию, вывод на экран |
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
|
23.04.2016, 13:08 | 2 |
Начните с такого шаблона
Образцы (шаблоны) программ для типовых задач А потом см. ссылки внизу страницы
1
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||
24.04.2016, 12:17 [ТС] | 3 | |||||
zss,
Написал часть программы: конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами и деструктор. Компилятор почему-то ругается на конструктор с одним параметром и на конструктор с двумя параметрами. В чем причина? Что я сделал не так?
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
||||||
24.04.2016, 13:06 | 4 | |||||
У вас неоднозначность в конструкторах, уберите в параметрах =0
Почему это указатели? И почему Вы их не инициализируете в конструкторах? Добавлено через 1 минуту inAr ничему не присваивается. Как Вы потом узнаете длину строки?
0
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|||||||||||
24.04.2016, 13:41 [ТС] | 5 | ||||||||||
Немного поправил:
0
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||
26.04.2016, 22:35 [ТС] | 6 | |||||
zss,
Написал программу. Запускаю на исполнение. Ввожу rows и colls (число строк и число столбцов) и ничего не происходит. В чем может быть причина?
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
||||||
27.04.2016, 19:40 | 7 | |||||
Как пользоваться отладчиком (в Visual Studio)
1
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||||||||||||||||||||||
04.05.2016, 22:26 [ТС] | 8 | |||||||||||||||||||||||||
Почему void? Эти же функции возвращают *this ?
zss, Еще есть один очень неприятный баг, который я никак не могу выловить отладчиком. По найденным мною примеров перегрузки операторов, все должно работать в следующем виде:
Однако, компилятор выдает мне следующую ошибку: no match for 'operator=' (operand types are 'Matrix' and 'Matrix') Если же написать так:
Как избавится от данного костыльного решения? P.S.Свою функцию main также прилагаю.
0
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
07.05.2016, 16:58 [ТС] | 9 |
Проблема остается актуальной. Где я допустил ошибку? Никак не могу найти и исправить.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
07.05.2016, 17:27 | 10 |
0
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
07.05.2016, 18:18 [ТС] | 11 |
hoggy, у меня ведь всего 272 строк кода. Откуда 358 строк?
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
07.05.2016, 19:11 | 12 |
так вы же его не показывали после всех исправлений.
пришлось включить телепатию...
0
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||
07.05.2016, 20:02 [ТС] | 13 | |||||
hoggy,
Вот мой код:
0
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
||||||
07.05.2016, 20:24 | 14 | |||||
Сообщение было отмечено igdev как решение
Решение
так должен выглядеть оператор присваивания
1
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||
07.05.2016, 20:39 [ТС] | 15 | |||||
retmas, Заработало!
И еще один маленький вопрос. Как мне правильно заполнить случайными значениями матрицу-строку в конструкторе с одним параметром? Делаю так:
invalid conversion from 'int' to 'int*' [-fpermissive]
0
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
||||||
07.05.2016, 20:50 | 16 | |||||
с одним параметром - это квадратная что ли? тогда
1
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
07.05.2016, 20:57 | 17 |
1
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
07.05.2016, 21:01 [ТС] | 18 |
retmas, Теперь все работает. Благодарю!
0
|
07.05.2016, 21:01 | |
07.05.2016, 21:01 | |
Помогаю со студенческими работами здесь
18
Разработать класс "Разреженная матрица" Разработать класс "Квадратная матрица"; создать массив матриц и найти в нём матрицу, удовлетворяющую условию Класс: Разработать абстрактный класс класс Point для задания координаты... Создать класс СПИСОК целых чисел. Разработать класс СТЕК Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |