Форум программистов, компьютерный форум CyberForum.ru

Квадратные матрицы - C++

Восстановить пароль Регистрация
 
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 152
13.04.2014, 01:13     Квадратные матрицы #1
Есть квадратные матрицы А и В. Как получить матрицу АВ-ВА?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 01:13     Квадратные матрицы
Посмотрите здесь:

C++ Даны три квадратные матрицы
Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля C++
C++ Даны 3 квадратные матрицы
C++ Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: путем умножения элементов каждой строки первой матрицы на наибольшее из
1)Даны две действительные квадратные матрицы порядка n. Получить новую матрицу : А) умножение элементов каждой строки первой матрицы на наибольшее из C++
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: а) умножением элементов каждой строки первой матрицы на наибольш C++
C++ Квадратные матрицы натуральных чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
13.04.2014, 01:19     Квадратные матрицы #2
сначало получить матрицы АВ и ВА, код функции реализующей умножение матриц
Умножение матриц
затем просто по элементно вычесть матрицы
IrineK
Заблокирован
13.04.2014, 07:38     Квадратные матрицы #3
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
#include <iostream>
#include <iomanip>
using std::cout;
using std::cin;
using std::fixed;
using std::setprecision;
using std::setw;
 
double **CreateArray (int N)
{   int i,j;
    double **arr = new double* [N];
    for (i = 0; i<N; i++)
        arr[i] = new double [N];
 
    for (i = 0; i<N; i++)
        for (j = 0; j<N; j++)
            arr[i][j] = 0.;
    return arr;
}
 
void DeleteArray (double **arr, int N)
{   for (int i = 0; i<N; i++)
        delete [] arr[i];
    delete [] arr;
}
    
void HandFill (double **arr, int N)
{   cout << "Вводите числа построчно\n";
    int i,j;
    for (i = 0; i<N; i++)
    {   cout <<"Строка "<< i << ", " << N << " элементов\n";
        for (j = 0; j<N; j++)
            cin >> arr[i][j];
    }
}
 
void Multiply (double **R, double **A, double **B, int N)
{   int i, j, k;
    double sum;
    for (i = 0; i < N; i++) 
        for (j = 0; j < N; j++) 
        {   for (k = 0, sum = 0.; k < N; k++)
                sum += A[i][k] * B[k][j];
            R[i][j] = sum;
        }
}
 
void Substract (double **R, double **A, double **B, int N)
{       int i, j;
        for (i = 0; i < N; i++) 
            for (j = 0; j < N; j++) 
                R[i][j] = A[i][j] - B[i][j];
}
 
void PrintArray (double **arr, int N)
{   cout << "Формат вывода: введите общее количество цифр и количество цифр после запятой\n";
    int w, prec;
    cin >> w >> prec;
    int i, j;
        for (i = 0; i < N; i++) 
        {   for (j = 0; j < N; j++) 
                cout << setw (w) << fixed << setprecision (prec) << arr[i][j];
            cout << "\n";
        }
}
 
 
int main () 
{   setlocale (LC_CTYPE, "Russian");
    int N;
 
    cout << "Введите размерность матриц\n\tN = ";
    cin >> N;
 
    double **A = CreateArray (N);
    double **B = CreateArray (N);
    cout << "\nЗаполните матрицу А\n";
    HandFill (A, N);
    cout << "\nЗаполните матрицу B\n";
    HandFill (B, N);
 
    double **C = CreateArray (N);
    double **D = CreateArray (N);
    double **E = CreateArray (N);
 
    Multiply (C, A, B, N);
    Multiply (D, B, A, N);
    Substract (E, C, D, N);
 
    cout << "\nE = AB - BA\n";
    PrintArray (E, N);
 
    DeleteArray (A, N);
    DeleteArray (B, N);
    DeleteArray (C, N);
    DeleteArray (D, N);
    DeleteArray (E, N);
 
    cin.sync(); cin.get();
    return 0;
}
Миниатюры
Квадратные матрицы   Квадратные матрицы  
Yandex
Объявления
13.04.2014, 07:38     Квадратные матрицы
Ответ Создать тему
Опции темы

Текущее время: 16:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru