Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct matrix {
- int n;
- float **m;
- matrix() {}
- matrix (int an)
- {
- n = an;
- init();
- }
- void init()
- {
- m = new float*[n];
- for (int i = 0; i < n; i++)
- {
- m[i] = new float[n];
- }
- }
- void input()
- {
- cout << "Input n: ";
- cin >> n;
- init();
- cout << "Input matrix: " << endl;
- for (int i = 0; i < n; i++)
- for (int j = 0; j < n; j++)
- cin >> m[i][j];
- }
- void print()
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- cout << m[i][j] << " ";
- cout << endl;
- }
- }
- matrix operator+(matrix a)
- {
- matrix rez = matrix(n);
- for (int i = 0; i < n; i++){
- for (int j = 0; j < n; j++) {
- rez.m[i][j] = m[i][j] + a.m[i][j];
- }
- }
- return rez;
- }
- matrix operator-(matrix a)
- {
- matrix rez = matrix(n);
- for (int i = 0; i < n; i++){
- for (int j = 0; j < n; j++) {
- rez.m[i][j] = m[i][j] - a.m[i][j];
- }
- }
- return rez;
- }
- matrix operator*(matrix a)
- {
- matrix multed = matrix(n);
- for (int i = 0; i<n; i++){
- for (int j = 0; j<n; j++){
- multed.m[i][j] = 0;
- for (int s = 0; s<n; s++){
- multed.m[i][j] = multed.m[i][j] + (m[i][s] * a.m[s][j]);
- }
- }
- }
- return multed;
- }
- };
- void main()
- {
- matrix a, b, c, d;
- a.input();
- b.input();
- c.input();
- d = a*b + c*a - a*c;
- d.print();
- cin.ignore();
- cin.get();
- }
Advertisement
Add Comment
Please, Sign In to add comment