0 / 0 / 0
Регистрация: 29.03.2019
Сообщений: 3
|
|
1 | |
Определить класс Матрица03.07.2019, 22:51. Показов 16184. Ответов 52
Определить класс Матрица. Создать два конструктора: в первом в качестве аргументов: int n и int m – размерность матрицы, во втором - двумерный массив аr [] []. Реализовать методы вычисления суммы всех элементов матрицы, произведения количества строк на столбцы.
0
|
03.07.2019, 22:51 | |
Ответы с готовыми решениями:
52
Класс: Реализовать класс Matrix - матрица, на основе двухмерного массива размерности M на N... Создать класс матрица Данный класс содержит указатель на int... Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица" Определить класс Матрица |
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
||||||
04.07.2019, 02:12 | 2 | |||||
Anastasia2903, вряд ли это поможет вашей учебе, но я попробовала решить задачу. Я сама чайник, поэтому не спешите копировать код. Очень вероятно, что его тут еще будут жестко критиковать. Я надеюсь, что будут. Потому что для меня это первый опыт создания программы такого уровня сложности. Буду рада любым критическим замечаниям и советам (только по данной теме).
Кликните здесь для просмотра всего текста
0
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
04.07.2019, 02:23 | 3 |
Результат вычислений (обязательно будет отличаться по причине случайности числовых значений элементов массива):
0
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|||||||||||
04.07.2019, 03:18 | 4 | ||||||||||
А вот так можно получить случайные размеры тестируемых массивов (мин - 2х2, макс - 7х7):
А этим:
Так удобнее тестировать. Каждое выполнение программы новые массивы с новыми размерами.
0
|
Am I evil? Yes, I am!
19240 / 10959 / 2919
Регистрация: 21.10.2017
Сообщений: 23,159
|
||||||
04.07.2019, 07:19 | 5 | |||||
Любой каприз...
1. Методы называем со строчной буквы 2. В методе вывода матрицы условие if (j == array[0].length - 1) System.out.println(); излишне, достаточно
4. Классы - кириллицей?
1
|
04.07.2019, 08:03 | 6 | |||||
alicesmagic3d, если метод что-то делает (выполняет какую-то функцию, а не просто возвращает значение), то его название, как правило, выражено глаголом. Например, compareTo() (сравнить с), close() (закрыть) и т.д., т.е. было бы правильнее назвать методы не FillingOfaMatrix и PrintOfaMatrix, а fillMatrix и printMatrix. И эт, я канеш понимаю, что в данном случае это не обязательно, но почему бы не поставить методам какие-нибудь модификаторы доступа? И кстати о модификаторах доступа, почему массив array в классе матрицы объявлен как public? Как же ООП и все дела? Также хотелось бы заметить, что метод, заполняющий матрицу, можно было бы сделать void, но шоб он изменял массив, который получает в качестве параметра. Тогда можно было бы получить массив array объекта матрицы каким-нибудь методом, вроде getMatrix(), а т.к. массив — это объект, то изменение полученного массива отразится и в самом объекте матрицы
1
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
04.07.2019, 08:37 | 7 |
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
04.07.2019, 08:49 | 9 |
ну надо наверно подумать, зачем это есть в задании, зачем писать так. Если массив пустой, то какой смысл в этом классе?
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
04.07.2019, 09:45 | 11 |
0
|
04.07.2019, 09:50 | 12 | |||||||||||||||
xoraxax, например вот так
Для того, чтобы потом найти сумму всех элементов и размер матрицы
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
04.07.2019, 10:01 | 13 |
а нахрена мне вызывать конструктор, а потом еще fillMatrix, если можно сразу матрицу в конструктор отдать?
1
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
04.07.2019, 13:12 | 15 |
Супер!!! Спасибо за замечания! Попробую все учесть и переделать
Добавлено через 17 минут iSmokeJC, класс кириллицей потому что в задании велено определить класс Матрица. Меня давно подмывало попробовать такую вольность. Вот и представилась возможность Gungala, а зачем нужны какие-нибудь модификаторы доступа для методов, если в данном учебном примере можно обойтись и без них? Понятно, что "если вдруг понадобится использовать класс в других задачах". Но в условии данной задачи такая надобность не прописана, а значит не нужны и явные модификаторы.
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
04.07.2019, 13:23 | 16 |
привыкай по-умолчанию везде, писать private. Если метод входит в интерфейс - тогда public. В особенных случаях, можно использовать другие два.
2
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
04.07.2019, 13:35 | 17 |
Так в данном случае методы sumMatrix() и sizeMatrix() не интерфейсные, но если сделать их private, то какой от них толк? Или я неправильно вас поняла?
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
04.07.2019, 13:42 | 18 |
как раз интерфейсные. Весь смысл этого класса, чтобы эти методы выполнять же. Значит надо бы явно написать public.
Добавлено через 1 минуту под интерфейсом я в данном случае понимаю не interface из явы, а совокупность средств для взаимодействия с объектом (хотя interface в общем-то тоже про это. По крайней мере когда-то было так).
1
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
04.07.2019, 13:48 | 19 |
xoraxax, теперь я поняла. Спасибо! А то уж испугалась, что тему "Интерфейсы" придется переучивать
0
|
04.07.2019, 14:07 | 20 | |||||
alicesmagic3d, а вот скажем дано задание сделать класс, выполняющий действия над матрицами. Нет никаких ограничений на название, нет никаких условий насчёт модификаторов доступа, ничего, вот только действия над матрицами, давайте тогда сделаем нечто подобное
0
|
04.07.2019, 14:07 | |
04.07.2019, 14:07 | |
Помогаю со студенческими работами здесь
20
Определить класс «Квадратная матрица» – Matrix. Определить класс "Матрица", используя дружественные функции Создать класс Triad (тройка чисел); определить метод сравнения триад. Определить производный класс Date Определить класс "Матрица" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |