Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<math.h>
- #define MAXX 1001
- #define SCALAR 0.4
- using namespace std;
- double Answer;
- void DIFFERENCE(double **p, double **p2, int m, int n)
- {
- for (int i = 0; i < m; ++i)
- {
- for (int j = 0; j < n; ++j)
- cout << p[i][j] - p2[i][j] << " ";
- cout << endl;
- }
- }
- void SUM(double **p, double **p2, int m, int n)
- {
- for (int i = 0; i < m; ++i)
- {
- for (int j = 0; j < n; ++j)
- cout << p[i][j] + p2[i][j]<<" ";
- cout << endl;
- }
- }
- void PROD__SCAL(double **p, int m , int n , double SCAL )
- {
- for (int i = 0; i < m; ++i)
- {
- for (int j = 0; j < n; ++j)
- cout << p[i][j] * SCAL<<" ";
- cout << endl;
- }
- }
- void TRANSPUSA(double **p, int m, int n)
- {
- for (int i = 0; i <= n; ++i)
- {
- for (int j = 0; j <= m; ++j)
- cout << p[i][j] << " ";
- cout << endl;
- }
- }
- double** READ(int m, int n)
- {
- double **s;
- s = new(nothrow)double*[m];
- for (int i = 0; i < m; ++i)
- s[i] = new(nothrow)double[n];
- for (int i = 0; i < m; ++i)
- for (int j = 0; j < n; ++j)
- cin >> s[i][j];
- return s;
- }
- void SHOW_MATRIX(double **p , int l, int c)
- {
- for (int i = 0; i < l; ++i)
- {
- for (int j = 0; j < c; ++j)
- cout << p[i][j] << " ";
- cout << endl;
- }
- }
- void PROD_MATRICE(double **p, double **p2, int l1, int c1, int l2, int c2)
- {
- if (c1 != l2) {
- cout << "Nu se poate efectua produsul ";
- exit(1);
- }
- for (int i = 1; i <= l1; ++i)
- {
- for (int j = 1; j <= c2; ++j)
- {
- Answer = 0;
- for (int KKK = 1; KKK <= c1; ++KKK)
- Answer = Answer + p[i][KKK] * p2[KKK][j];
- cout << Answer << " ";
- }
- cout << endl;
- }
- }
- int main()
- { //MERGE DOAR PENTRU MATRICI PATRATICE
- int m, n;
- cin >> m >> n;
- double** mat1 = READ(m, n);
- int m2, n2;
- cin >> m2 >> n2;
- double** mat2 = READ(m2, n2);
- SUM(mat1, mat2, m, n);
- cout << endl;
- DIFFERENCE(mat1, mat2, m, n);
- cout << endl;
- PROD__SCAL(mat1, m, n, SCALAR);
- cout << endl;
- TRANSPUSA(mat1, m, n);
- cout << endl;
- PROD_MATRICE(mat1, mat2, m, n, m2, n2);
- cout << endl;
- //SHOW_MATRIX(mat1, m, n);
- /*int m, n;
- int m2, n2;
- mat1 = new(nothrow)int *[m];
- for (int i = 0; i < m ; ++i)
- mat1[i] = new(nothrow) int[n];
- //aloc dimanic tabloul dimanic de elemente dinamice ( matrice )
- mat2 = new(nothrow)int*[m2];
- for (int i = 0; i < m2 ; ++i)
- mat2[i] = new(nothrow)int[n2];
- //aloc dimanic al doilea tabloul dimanic de elemente dinamice ( matrice )
- */
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement