С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 5

Создать класс CMatrix (матрица), описывающий объект – действительные матрицы заданного размера

12.05.2015, 19:01. Показов 1282. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание № 3

Общее для всех

1. Создать класс CMatrix (матрица), описывающий объект – действительные матрицы заданного размера NR (число строк)NC (число столбцов), состоящие из NR вектор-строк, описываемых классом CVect, длины NC.
Поля класса:
Защищённые члены:
число строк матрицы NR,
число столбцов матрицы NC,
массив из NR вектор-строк, принадлежащих классу CVect длины NC.
Методы класса:
Конструктор по умолчанию – создает матрицу нулевого размера, не выделяя память.
Конструктор первый – создаёт матрицу заданного размера и заполняет её нулями.
Конструктор второй – создаёт матрицу заданного размера и заполняет его числами типа double путём копирования их из двумерного массива.
Конструктор копирования первый– копирует одну матрицу в другую.
Конструктор копирования второй – создание матрицы, состоящей из одной строки или одного столбца, путём копирования элементов вектора. Ориентация вектора учитывается.
Конструктор третий – создание матрицы заданного размера NRNC со случайными действительными компонентами, заключёнными в пределах [–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 (0kn–1). Столбец с минимальным по модулю элементом в k-ой строке переставить с k-м столбцом
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2015, 19:01
Ответы с готовыми решениями:

Создать класс CMatrix, описывающий объект – действительные матрицы заданного размера
Создать класс CMatrix (матрица), описывающий объект – действительные матрицы задан-ного размера NR (число строк)NC (число...

Создать класс, описывающий треугольник, и наследник, описывающий прямые треугольной призмы
Создать класс описывающий треугольник. найти площадь треугольника. создать класс наследник, описывающий прямые треугольной призмы. найти...

Создать классы, описывающий прямоугольники и класс-наследник, описывающий прямоугольные параллепипеды
Создать классы, описывающий прямоугольники. Найти площадь прямоугольника. Создать класс-наследник, описывающий прямоугольные параллепипеды....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2015, 19:01
Помогаю со студенческими работами здесь

Класс матрица, описывающий двумерный массив
Здравствуйте. Хочу разобраться и создать класс. Имеется код, но мне он кажется слишком сложным, как можно упростить его для лучшего...

Разработать класс, описывающий объект «книжный шкаф»
Разработать класс, описывающий объект «книжный шкаф». Объект «книжный шкаф» описывает шкаф с несколькими одинаковыми полками. Каждая...

Класс: Разработать класс, описывающий объект "Телефонный звонок"
Всем добрый вечер))) Пожалуйста помогите, очень прошу Разработать класс, описывающий объект "Телефонный звонок" Класс...

Класс: Создать класс, описывающий цех завода...
Создать класс, описывающий цех завода (количество единиц заготовок, поступающих на производство, количество единиц готовой продукции,...

Реализовать класс, описывающий целочисленное число произвольного размера (размер в байтах задается при инициализации)
Всем привет, помогите написать программу на C++. Реализовать класс, описывающий целочисленное число произвольного размера (размер в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru