|
0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83
|
|||||||||||
Написать класс, представляющий операции с матрицей20.06.2022, 15:26. Показов 941. Ответов 0
Метки нет (Все метки)
Всем доброго времени, помогите разобраться с кодом и с заданием пожалуйста...
Класс должен поддерживать следующие операции умножение на другую матрицу умножение на скаляр добавление вычитание перестановка конструктор, 3 параметра: 1) количество рядов 2) количество столбцов 3) функция генератора, полученные значения представляют собой 3-элементный кортеж (строка, столбец, значение); порядок появления: а) первыми идут кортежи с меньшими номерами строк б) если строки равны, первыми идут кортежи с меньшими номерами столбцов; если значение не создается для какой-либо ячейки, его значение по умолчанию равно 0 если порядок появления в функции-генераторе не удовлетворяет, генерировать исключение Пример
данные матрицы должны храниться в двухмерном кортеже (кортеже кортежей) для обеспечения неизменности переменная данных матрицы должна иметь имя данных временные объекты матричного размера (строки * столбцы) не допускаются ни в конструкторе, ни в коде операций, максимальный размер временного объекта равен max(строки, столбцы) каждая операция создает новую матрицу для большинства операций требуется двойной цикл (для i в ...: для j в ...), чтобы сделать код более кратким и чистым, используйте общую функцию для цикла и передайте лямбда-функцию (которая представляет уникальную часть каждой операции) в качестве параметра для Это; по крайней мере, следующие операции должны использовать общую функцию: «умножение на скаляр», «вычитание», «сложение», однако при желании вы можете создать расширенную версию, которая также может применяться к «умножению на другую матрицу» и «транспонирование» Советы по реализации: поскольку временные объекты не разрешены, одним из подходов к созданию объекта является использование генератора вложенных кортежей. простой пример: >>> tuple(tuple (i*j для i в диапазоне (1,10)) для j в диапазоне (1,10)) ((1, 2, 3, 4, 5, 6, 7, 8, 9), (2, 4, 6, 8, 10, 12, 14, 16, 18), (3, 6, 9, 12, 15, 18, 21, 24, 27), (4, 8, 12, 16, 20, 24, 28, 32, 36), (5, 10, 15, 20, 25, 30, 35, 40, 45), (6, 12, 18, 24, 30, 36, 42, 48, 54), (7, 14, 21, 28, 35, 42, 49, 56, 63), (8, 16, 24, 32, 40, 48, 56, 64, 72), (9, 18, 27, 36, 45, 54, 63, 72, 81)) используйте метод gen_stream, чтобы заполнить ячейку нулем, если значение не возвращено генератором для некоторой ячейки Если какая-то операция не может быть выполнена (из-за несовместимых размеров матриц), должно быть выдано исключение ValueError Мой вариант, но без exceptions (НЕ Соответствует всем критериям задания)
0
|
|||||||||||
| 20.06.2022, 15:26 | |
|
Ответы с готовыми решениями:
0
Ввести класс для работы с прямоугольной матрицей, реализовать операции сложения и умножения матриц Создать класс, представляющий обучающий класс ClassRoom. Создайте класс ученик Pupil. В теле класса создайте методы void Создать класс представляющий учебную группу Group и класс студент Student |
| 20.06.2022, 15:26 | |
|
Помогаю со студенческими работами здесь
1
Реализовать класс Coord, представляющий собой класс координат точки (x, y)) Подробно прокомментировать класс PolarCoordinates, представляющий собой класс координат точки на плоскости Класс: Создайте класс Person, представляющий информацию о человеке Написать класс, на который будут возложены все операции с БД MS Access Создать класс "А," представляющий собой класс, который в виде параметра должен принимать экземпляр другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|