Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.09.2018
Сообщений: 2
1

Является ли, матрица А обратной матрицу B

18.09.2018, 18:21. Показов 1600. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, найти обратную матрицу что дана на картинке. И почему то формула не работает (которая в результате)

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <string>
#include <math.h>
#include <stdio.h>
#include <iostream>
using namespace std;
class matr
{
public:
    int a[3][3];
    matr();
    matr(int x[3][3]);
    void show();
    matr operator +(matr z);
    matr operator -(matr z);
    matr operator *(matr z);
    matr operator *=(int z);
    matr proverka();//методы
};
 
matr::matr()
{
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            a[i][j] = 0;//1 l действие приравниваем к 0;
};
 
matr::matr(int x[3][3])
{
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            a[i][j] = x[i][j];// 2 действие приравниваем к условию
}
 
void matr::show()//вывод матрицы
{
    int i, j;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
            cout << a[i][j] << "  ";
        cout << endl;
    }
};
 
matr matr :: operator+(matr z)//Сложение матриц
{
    matr t;
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            t.a[i][j] = a[i][j] + z.a[i][j];
 
    return t;
};
 
matr matr :: operator-(matr z)//вычитание матрицы из матрицы
{
    matr t;
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            t.a[i][j] = a[i][j] - z.a[i][j];
 
    return t;
};
 
matr matr :: operator*(matr z)//Умножение матрицы на матрицу
{
    matr t;
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            t.a[i][j] = a[i][j] * z.a[j][i];
 
    return t;
};
 
matr matr :: operator*=(int z)//Умножение матрицы на число
{
    matr t;
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            t.a[i][j] = a[i][j] * z;   //Умножение матрицы на число
    return  t;
};
 
matr matr::proverka()
{
    matr t;
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++)
            t.a[i][j] = 3 * a[i][j] * a[i][j] + (a[i][j] - a[i][j]);
    //D=3*B*A+(B-A);//???
    return t;
};
 
int main()
{
    int x[3][3] = { 1,2,2,0,3,1,1,0,0 };
    int y[3][3] = { 0,0,1,0,0,1,0,0,-1 };
    matr A(x), B(y), C, S, V, U, D;
    cout << "Pervaya matrica: " << endl;
    cout << endl;
    //  matr A(x);
    A.show();
    cout << endl;
    cout << "Vtoraya matrica: " << endl;
    cout << endl;
    //  matr B(y);
    B.show();
    cout << endl;
 
    cout << "Matrica A + B: " << endl;
    cout << endl;
    S = A + B;
    S.show();
    cout << endl;
 
    cout << "Matrica A - B: " << endl;
    cout << endl;
    V = A - B;
    V.show();
    cout << endl;
 
    cout << "Matrica A * B: " << endl;
    cout << endl;
    U = A * B;
    U.show();
    cout << endl;
 
    cout << "Matrica umnozhennaya na chislo (5): " << endl;
    cout << endl;
    C = A *= 5;
    C.show();
    cout << endl;
 
    cout << "Otvet po uravneniu : " << endl;
    cout << endl;
    D = 3 * A * B + (A - B)*A;
    D.show();
    cout << endl;
 
    system("pause");
    return 0;
}
Миниатюры
Является ли, матрица А обратной матрицу B  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2018, 18:21
Ответы с готовыми решениями:

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N;...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) {...

Вывести квадратную матрицу на консоль в виде обратной спирали
Мне нужно вывести обратный спираль 10 11 7 6 5 9 13 14 15 16 12 8 4 3 2 1. Но я получаю нормальный...

Даны матрицы D(n, n), A(m, n) и B(n,m). Найти матрицу C = BA. Проверить, является ли матрица C(n, n) обратной к D(n, n)
Заданы матрицы D(n, n), A(m, n) и B(n,m). Найти матрицу C = BA. Проверить, является ли матрица C(n,...

8
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
19.09.2018, 08:08 2
Обратную матрицу искать не надо.
Просто матрица U = A * B должна получиться единичной,
т.е. по диагонали - почти единицы, а остальные - почти нули.

"Почти" - значит с какой-то малой погрешностью, например, 1e-16
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
19.09.2018, 15:09 3
Цитата Сообщение от zss Посмотреть сообщение
"Почти"
В общем случае это слово, конечно, необходимо. Правда, как реализовать его в коде - большой вопрос. Почему именно 10-16? А если элементы матрицы порядка 10-15? (Я говорю про общий случай)
Но тут ТС сильно повезло. Все числа представляются в памяти машины точно, соответственно и операции над ними будут точными.
Для полной уверенности вместо матрицы В надо рассмотреть матрицу 4*В. Она целочисленна. И при умножении на главной диагонали должны появиться точно четверки, а в остальных - точно нули.
0
0 / 0 / 0
Регистрация: 18.09.2018
Сообщений: 2
20.09.2018, 11:13  [ТС] 4
Я не знаю как реализовать это всё кодом, может кто помочь?
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
20.09.2018, 14:06 5
Реализовать что? Перемножение матриц? Хотя бы в математическом виде напишите для начала - формулу, алгоритм, хоть что-то.
Кстати, то что у вас в коде названо перемножением матриц, им не является. Тоже стоит поправить.
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
20.09.2018, 14:30 6
В задании у Вас в разрабатываемом классе в качестве членов класса размеры матрицы, это сразу подразумевает что матрица может быть произвольного размера (ну в пределах разумного).
Поэтому построение данных в классе должно быть совсем другим и особое внимание надо уделить конструкторам и деструктору класса. Пока Вы не определите члены класса, писать код практически почти бесполезное занятие.
Кроме этого особое внимание в определяемых функциях, с учётом произвольных размеров матриц, надо уделять контролю размеров матриц и выводу сообщений о невозможности проведения операций.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
20.09.2018, 15:05 7
Зачем произвольного если везде указано 3х3
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
21.09.2018, 07:35 8
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Зачем произвольного если везде указано 3х3
Это в попытке решения и пример теста матрицы 3 на 3.
А в задании на картинке читали? Зачем хранить данные о размере матрицы если она всегда 3 на 3?
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
21.09.2018, 10:52 9
С одной стороны да, хорошо бы сделать матрицу динамической.
С другой - на практике часто нужны именно матрицы 3х3 и 4х4
С третьей - пусть сперва реализует по-нормальному хотя бы 3х3, а уж потом добавляет динамику.
0
21.09.2018, 10:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2018, 10:52
Помогаю со студенческими работами здесь

Проверить, является ли матрица C(n, n) обратной к D(n, n)
Заданы матрицы D(n, n), A(m, n) и B(n,m). Найти матрицу C = BA. Проверить, является ли матрица C(n,...

Проверить, является ли матрица A обратной к B (в таком случае A*B = единичной матрице)
Проверить, является ли матрица В(n,n) обратной к A(n,n). Произведением матриц А и В в этом случае...

Доказать, что первая матрица является или не является элементом (решением) трёх заданных матриц
Добрый день! Мне очень нужна помощь в решении задачи. Условие: Исследуйте...

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru