|
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 5
|
|
Создать класс CMatrix (матрица), описывающий объект – действительные матрицы заданного размера12.05.2015, 19:01. Показов 1295. Ответов 0
Метки нет (Все метки)
Задание № 3
Общее для всех 1. Создать класс CMatrix (матрица), описывающий объект – действительные матрицы заданного размера NR (число строк)NC (число столбцов), состоящие из NR вектор-строк, описываемых классом CVect, длины NC. Поля класса: Защищённые члены: число строк матрицы NR, число столбцов матрицы NC, массив из NR вектор-строк, принадлежащих классу CVect длины NC. Методы класса: Конструктор по умолчанию – создает матрицу нулевого размера, не выделяя память. Конструктор первый – создаёт матрицу заданного размера и заполняет её нулями. Конструктор второй – создаёт матрицу заданного размера и заполняет его числами типа double путём копирования их из двумерного массива. Конструктор копирования первый– копирует одну матрицу в другую. Конструктор копирования второй – создание матрицы, состоящей из одной строки или одного столбца, путём копирования элементов вектора. Ориентация вектора учитывается. Конструктор третий – создание матрицы заданного размера NRNC со случайными действительными компонентами, заключёнными в пределах [–R, R], R – действительное число. Конструктор четвёртый – создание диагональной матрицы, заполненной действительным числом fill_number. Встроенная функция определения числа строк матрицы. Встроенная функция определения числа столбцов матрицы. Функция транспонирования матрицы. Функция вычисления суммы элементов матрицы. Функция вычисления следа матрицы (сумма элементов главной диагонали). Функция произведения двух матриц. Функция умножения матрицы на скаляр. Функция сложения двух матриц. Функция присвоения одной матрицы другой. Функция печати матрицы в поток вывода. Функция сравнения двух матриц. Функция перестановки местами строк матрицы с номерами first_row и second_row. Функция перестановки местами столбцов матрицы с номерами first_col и second_col. Функция сложения строк матрицы: к элементам строки с номером first_row прибавить элементы строки second_row, умноженные на скаляр fact в соответствии с выражением [r1] = [r1] + fact*[r2]. Функция создания новой матрицы из фрагмента уже имеющейся: образование новой матрицы путём копирования в неё прямоугольного фрагмента с координатами (индексами) верхнего левого углового элемента и размерами nrows ncols из уже имеющейся матрицы. Функция, размещающая в имеющейся матрице блок Block (из двумерного массива или матрицы) в позицию, определяемую верхним левым элементом [top][left]. Деструктор. Кроме того, методы должны содержать перегруженные операторы: Оператор индексации – возвращает номер вектор-строки в матрице, когда выражение mat[i] относится ко всем элементам строки с номером i, чтобы с матрицей можно было работать, как с обычным массивом, обращаясь к её элементам в виде: mat[i][j]. Оператор транспонирования – транспонирует матрицу. Бинарные операторы сложения и вычитания, чтобы матрицы одинаковых размеров можно было складывать и вычитать, как обычные переменные вида c = a + b. Оператор произведения двух матриц (проверяющий, можно ли умножать данные матрицы). Оператор умножения матрицы на число. Оператор умножения вектора на матрицу (проверяющий, можно ли умножать данные вектор и матрицу). Оператор умножения матрицы на вектор (проверяющий, можно ли умножать данные матрицу и вектор). Инкрементный оператор сложения матриц аналог инкрементного оператора в C: a+=b. Декрементный оператор вычитания векторов аналог декрементного оператора в C: a-=b.. Инкрементный оператор умножения матрицы на скаляр аналог инкрементного оператора в C: a*=b.. Оператор печати матрицы в поток вывода. Оператор присваивания одной матрицы другой. Оператор сравнения матриц. Вторая часть Дана матрица M(nxn), экземпляр класса CMatrix, и число k (0kn–1). Столбец с минимальным по модулю элементом в k-ой строке переставить с k-м столбцом
0
|
|
| 12.05.2015, 19:01 | |
|
Ответы с готовыми решениями:
0
Создать класс CMatrix, описывающий объект – действительные матрицы заданного размера Создать класс, описывающий треугольник, и наследник, описывающий прямые треугольной призмы
|
| 12.05.2015, 19:01 | |
|
Помогаю со студенческими работами здесь
1
Класс матрица, описывающий двумерный массив
Реализовать класс, описывающий целочисленное число произвольного размера (размер в байтах задается при инициализации) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|