Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/92: Рейтинг темы: голосов - 92, средняя оценка - 4.68
6 / 5 / 0
Регистрация: 03.06.2018
Сообщений: 11

Бесплатная библиотека для работы с матрицами

13.06.2018, 20:33. Показов 18909. Ответов 23

Студворк — интернет-сервис помощи студентам
Привет всем. Написал по приколу библиотеку для работы с матрицами и охота просто показать вам, так как не знаю зачем её вообще делал. Мб если кому нужна, то забирайте бесплатно.

Вот тестовый код (ссылка на библиотеку matrix.zip):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include "matrix.h"
using namespace std;
 
void main() {
    matrix one, two; //создадутся две матрицы с размерами 0х0
 
    cin >> one >> two; //можно вводить патрицы через cin, вас попросят ввести кол-во столбцов, строк и значения для каждой ячейки
 
    cout << one << endl << two << endl; //можно также выводить матрицы на экран
 
    cout << one + two << endl << one - two << endl; //матрицы можно скалдывать и вычитать
    cout << one * two << endl << 5.1 * one << endl << one * (-1.2) << endl; //матрицы можно умножать, также умножать на числа слева и справа
 
    double val[9] = { 1.2, 2.3, 3, -6.88, 0.04, 5, -3, 2, 2 };
    one.set(3, 3, val); //матрицу можно переобозначить, например тут сделал матрицу 3x3 со значениями массива values
 
    cout << one.get_val(2, 3) << endl; //можно получать значение 2 стобца 3 строки, например
    cout << one.get_stroke(1) << endl << one.get_column(2) << endl; //можно получать строку и столбец
    cout << one.minor(1, 2) << endl; //можно получать минор для элемента 1 2, например
 
    cout << one.identity() << endl; //можно получить единичную матрицу nxn, где n будет браться от высоты или от ширины, что меньше
 
    cout << one.det() << endl; //можно получить определитель для кваратной матрицы
 
    cout << one.ks_transvection(2, -1.5) << endl << one.kc_transvection(1, 0.5) << endl; //можно умножать строку(ks) или столбец(kc) на коэфициент, например 2 строку умножить на -1.5
    cout << one.swaps_transvection(1, 2) << endl << one.swapc_transvection(1, 3) << endl; //можно менять местами строки(swaps) или столбцы(swapc), например 1 строку поменять со 2
    cout << one.s_transvection(1, 2, 2.5) << endl << one.c_transvection(2, 3, -1.5) << endl; //можно складывать строки(s) или столбцы(c), например к 1 строке прибавить втору, умноженную на 2.5
 
    cout << one.transpose() << endl; //можно транспонировать матрицу
    cout << one.alg_comp() << endl; //можно получать матрицу алгебраических дополнений
 
    cout << one.power(-1) << endl << one.power(3) << endl; // можно возводить матрицу в степень, степень должна быть целым числом больше или равным -1, при -1 находит обратную матрицу, при 0 - получат единичную матрицу, при 1 получается ту же матрицу, больше единицы находит степень матрицы
 
    system("pause");
}
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2018, 20:33
Ответы с готовыми решениями:

Самая крутая бесплатная библиотека для работы со звуком в видеоигре OpenGL С++ ?
Нужно создать предельно насколько возможно качественный обьёмный звук в тридэ игре которую пишу на с++. Нужна мощная свободная библиотека...

Библиотека для работы с матрицами
Пожалуйста, подскажите библиотеку, где можно находить определитель матрицы. И какой функцией если можно))

Конструкторы для работы с матрицами
Доброго времени суток, многоуважаемые форумчане. Ситуация такая: преподаватель дал задание - создать класс матриц, НО предварительно...

23
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
14.04.2020, 12:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
С чем именно? И то такое вообще new double[]?
это
/// matrix.h
class matrix {

...
C++
324
325
    double* values = new double[];
};
в этой наикрутейшей библиотеке.
0
1 / 1 / 0
Регистрация: 14.04.2020
Сообщений: 3
14.04.2020, 20:10
Необходимо исправить данные ошибки, возникающие при подключении заголовочного файла. Ругается на строчку из обсуждаемой библиотеки.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
14.04.2020, 20:26
Цитата Сообщение от Andrey741 Посмотреть сообщение
Ругается на строчку из обсуждаемой библиотеки.
замените эту строчку на:
C++
1
    double* values;
2
1 / 1 / 0
Регистрация: 14.04.2020
Сообщений: 3
15.04.2020, 12:44
Спасибо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2020, 12:44

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

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

Класс для работы с матрицами
Неплохая библиотека :) . Люди, у кого есть нервы скачать весь сайт и в архиве прислать ко мне на мыло :) (Библиотека хорошая, а на качалку...

Класс для работы с матрицами 2х2
Нужна помощь. Задание звучит так : разработать класс для работы с матрицами 2х2 . Прога уже почти написана , код работает , но вот...

Функции для работы с массивами и матрицами
Помоги пожалуйста !!! Написать перегруженные функции (int, double, char) для выполнения следующих задач: • Инициализация квадратной...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru